ubuntu 自定义记录用户登录以及操作日志

root@ms:~# cd /etc
#更改之前先备份,养成良好的习惯,否则肠子都要悔青了
root@ms:/etc# cp profile profile.bak
root@ms:/etc# vi profile

在文章末尾加入下列shell脚本

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 777 /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

 /var/log/history/这个文件路径可以自己定义。

然后重启

root@ms:~#reboot

再次登录进去,进行几个操作,cd啦,ls啦,做个样子就行了。

然后退出登录。

再登录进去。

root@ms:~# cd /var/log/history
root@ms:/var/log/history# ls
#列出了以登录用户为名的文件夹
root
root@ms:/var/log/history# cd root
root@ms:/var/log/history/root# ls
#列出登录日志  格式:用户名@IP地址_时间
root@219.144.205.86_20181019_10:18:17
root@ms:/var/log/history/root# cat root@219.144.205.86_20181019_10:18:17
#列出上次操作的所有shell命令
cd /var/log/
ls
cd history/
ls
cd root/
ls
cd 
ls
ci /etc/profile
vi /etc/profile
cd /etc/
ls
cd
cd /home/
ll
cd /var/log/history/
ls
cd root/
ls -l
useradd test
passwd test
exit

注意!注意!注意!

在创建用户的时候,尽量使用adduser

要问为什么,就是在useradd的时候没有创建用户的家目录,在登录此用户的的时候会报错。

Could not chdir to home directory /home/test: No such file or directory
-sh: 29: history: not found

完结。 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值