linux 记录所有用户bash操作日志
记录所有用户登录系统的任何操作日志,以便有据可查。
1.编辑 /etc/profile
文件。
1
|
# vim /etc/profil
|
2. 在其后添加如下内容
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
history
USER=`whoami`
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 /var/log/history ]; then
mkdir /var/log/history
chmod 777 /var/log/history
fi
if [ ! -d /var/log/history/${LOGNAME} ]; then
mkdir /var/log/history/${LOGNAME}
chmod 300 /var/log/history/${LOGNAME}
fi
export HISTSIZE=4096
DT=`date +"%Y%m%d_%H:%M:%S"`
export HISTFILE="/var/log/history/${LOGNAME}/${USER}@${USER_IP}_$DT"
chmod 600 /var/log/history/${LOGNAME}/*history* 2>/dev/null
|
3. 加载文件生效
1
|
# source /etc/profile
|
/var/log/history 日志的存放位置,该目录下以每个用户为名创建一个文件夹,每次用户退出后都会产生以用户名、登录IP、时间的日志文件,以及用户本次的所有操作。
root用户不记录在此。