1. 程式人生 > 實用技巧 >安全小指令碼

安全小指令碼

來源

處於對伺服器安全的現實考慮,檢測每個使用者在哪個時間從哪個IP登陸伺服器執行了什麼命令成為了當下處理許可權混亂的最佳路徑。

核心程式碼

在/etc/profile裡面加入以下程式碼

PS1="`whoami`@`hostname`:"'[$PWD]'
history
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
if [ "$USER_IP" = "" ]
then
USER_IP=`hostname`
fi
if [ ! -d /tmp/login_data ]
then
mkdir /tmp/login_data
chmod 700 /tmp/login_data
fi
if [ ! -d /tmp/login_data/${LOGNAME} ]
then
mkdir /tmp/login_data/${LOGNAME}
chmod 700 /tmp/login_data/${LOGNAME}
fi
export HISTSIZE=4096
DT=`date "+%Y-%m-%d_%H:%M:%S"`
export HISTFILE="/tmp/login_data/${LOGNAME}/${USER_IP} login_data.$DT"
chmod 700 /tmp/login_data/${LOGNAME}/*login_data* 2>/dev/null

source /etc/profile 使指令碼生效,退出使用者,重新登入

daemon案例

# echo "I love You"  
I love You
# cd /tmp/login_data/root/
# ll
-rwx------ 1 root root 162 Aug 28 11:03 113.68.109.67 login_data.2020-08-28_11:02:03
# cat 113.68.109.67\ login_data.2020-08-28_11\:02\:03 
echo "I love You"