linux-记录远程登录IP及操作记录
linux 下可以用 w 来查看当前登录用户信息;如果是SSH登录,也可查看 $SSH_CLIENT 得到登录用户信息,但如果是FTP等方式,则无法得到需要的信息;
但用 w 有个问题,如果是同个用户登录,则有多条信息,如果区分是个问题;最后解决方法如下:
w | tail -n +3 | awk 'BEGIN {ip="local"}{if ($5=="0.00s" || $3 != "-") ip=$3 fi} END {print ip}'
linux 下可以用history 查看历史执行命令,但默认没有记录操作时间,也无法查看是哪个客户端执行的命令;
可以用/usr/bin/script 来记录用户操作;
结合以上两个功能,可以将如下命令加入到 /etc/profile里面,执行记录用户IP及操作记录日志文件目录:/var/log/script/
exec /usr/bin/script -a -f -q /var/log/script/$USER-`date +%Y%m%d%H%M`-`w | tail -n +3 | awk 'BEGIN {ip="local"}{if ($5=="0.00s" || $3 != "-") ip=$3 fi} END {print ip}'`.log
注:普通用户登录图形界面有问题,还没找出问题
或者,将如下命令加入到 /etc/profile最后一行,通过history命令查询:
export HISTTIMEFORMAT="%F %T `who am i` "
- 本文标签: 暂无相关标签
- 本文链接: https://www.jimmy2k.top/article/48
- 版权声明: 本文由JimmyZ的个人博客原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权