遇到问题:公司增长了运维管理员,为确保服务器安全,和发生问题的时候好确认问题,须要记录每位服务器登录者的行为轨迹。linux
解决问题:linux script 命令正有如此强大的功能。知足咱们需求。script记录终端会话。vim
操做步骤:
centos
我是centos6.3系统, 自带script命令,若是没有,你们需手动安装。安全
vim /etc/profile服务器
在末尾添加:运维
if [ $UID -ge 1000 ]; thenide
exec /usr/bin/script -t 2>/mnt/log/script/$USER-$UID-`date +%Y%m%d%H%M`.date -a -f -q /mnt/log/script/$USER-$UID-`date +%Y%m%d%H%M`.logspa
fiblog
这样用户登录后执行的操做都会记录到/mnt/log/script/*.log(目录本身根据服务器目录定义)里,咱们能够经过more或vi来进行查看。ip
我这里是把用户ID 大于1000的都记录下操做,你能够从新登陆用户,操做一些命令,查看生成的文件。
另外,/mnt/log/script 目录须要其余用户有写的权限;
chmod 743 /mnt/log/script
能够看到上图,对应的用户登陆,会分别生成一个log和date为后缀的文件。log记录了操做,能够经过date文件 回放操做。经过scriptreplay 来回放注意:先是 “时间文件”,而后是“命令文件”,不要颠倒。以上,就完成了记录用户的全部操做记录。而且还有回放功能,像录像同样,很是方便查找问题。