在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
记录输入的命令 history命令可以查看用户输入过的命令,一个典型history命令输出如下: 980 2017-05-29 20:17:37 cd - 981 2017-05-29 20:17:41 cat index.html 982 2017-05-29 20:20:11 vim index.html 983 2017-05-29 20:39:18 cd - 984 2017-05-29 20:39:25 cd /var/log/nginx/ 985 2017-05-29 20:39:27 vim access.log 986 2017-05-29 20:50:10 netstat -ntlp 987 2017-05-31 11:04:39 tmux a -t0 988 2017-05-31 11:15:42 exit 989 2017-05-31 12:32:38 tmux a -t0 记录IP 为了记录用户的IP,需要首先获取用户的登录IP。由于在用户登入期间,会话不会断开,所以只需获取一次即可。 获取IP命令: 接着按照 IP=`who am i | awk '{print $NF}' | sed -e 's/[()]//g'` export HISTTIMEFORMAT=$USER@$IP %F %T 为了让上述命令对所有用户生效,可将其写到/etc/profile文件中。设置完毕后(可能需要重新登录,或者用 412 [email protected] 2017-06-02 22:03:27 netstat -nt 414 [email protected] 2017-06-02 22:03:38 netstat -ntpl 415 [email protected] 2017-06-03 14:17:09 history 416 [email protected] 2017-06-03 14:17:30 tmux ls 417 [email protected] 2017-06-03 14:17:34 tmux 418 [email protected] 2017-06-03 14:17:49 tmux a -t0
设置PROMPT_COMMAND将用户的上一条命令log到syslog里面去: export PROMPT_COMMAND="history 1 | logger -t cmd_log -p user.notice"
如果你熟悉syslog,可以将命令记录输出到单独的文件中。这需要在 通过如上设定,即可在用户无感知的情况下log用户的IP、时间和操作命令。 对用户来说,如何绕过?可以有两种方式:
参考 https://askubuntu.com/questions/93566/how-to-log-all-bash-commands-by-all-users-on-a-server http://moper.me/ssh-audit-chats.html http://zhu8337797.blog.163.com/blog/static/170617549201222912830483/ 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对极客世界的支持。 |
请发表评论