记录输入的命令
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命令: who am i | awk '{print $NF}' | sed -e 's/[()]//g'
。
接着按照 username@ip datetime command
的格式记录用户的命令,这需要设置HISTTIMEFORMAT的值。获取IP和设置命令格式结合起来:
IP=`who am i | awk '{print $NF}' | sed -e 's/[()]//g'` export HISTTIMEFORMAT=$USER@$IP %F %T
为了让上述命令对所有用户生效,可将其写到/etc/profile文件中。设置完毕后(可能需要重新登录,或者用source
命令重新加载/etc/profile),history
命令输出如下类似结果:
412 root@8.8.8.8 2017-06-02 22:03:27 netstat -nt 414 root@8.8.8.8 2017-06-02 22:03:38 netstat -ntpl 415 root@8.8.8.8 2017-06-03 14:17:09 history 416 root@8.8.8.8 2017-06-03 14:17:30 tmux ls 417 root@8.8.8.8 2017-06-03 14:17:34 tmux 418 root@8.8.8.8 2017-06-03 14:17:49 tmux a -t0
history
命令的内容保存在用户的~/.bash_history
文件中,用户可随时更改或者清除。为了统一管理用户的命令记录,我们希望用户执行命令后,执行的命令能输出到某个文件内。达到这个目的需要 PROMPT_COMMAND 环境变量的协助。
设置PROMPT_COMMAND将用户的上一条命令log到syslog里面去:
export PROMPT_COMMAND="history 1 | logger -t cmd_log -p user.notice"
logger
命令将信息输出到/var/log/messages
中。任意输入一个命令,然后打开/var/log/messages,会看到已经记录在案。/var/log/messages文件只有root有权限访问,从而达到了记录用户IP和命令的目的。
如果你熟悉syslog,可以将命令记录输出到单独的文件中。这需要在logger
命令的-p
选项中指定工具名称和等级,例如local2.notice
,然后编辑/etc/rsyslog.conf,将local2的信息输出到单独文件: local2.* /var/log/command.log
,最后重启rsyslog服务。
通过如上设定,即可在用户无感知的情况下log用户的IP、时间和操作命令。
对用户来说,如何绕过?可以有两种方式:
- 将命令写到脚本,执行脚本;
- unset PROMPT_COMMAND变量。
参考
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/
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新动态
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]