我有一个要求。我需要在任何用户运行unix命令时打印特定的消息。 例如,如果有人运行cat命令或者如果在命令行上执行cat命令。我需要终端上的自定义消息。
答案 0 :(得分:3)
使用spydig
:
sysdig -c spy_users
备选方案1
使用w
执行watch
:
watch -n,5 w -h
w
显示用户实际执行的操作watch
在用户指定的时间间隔内重复调用命令(在这种情况下为w
)(在这种情况下为0.5秒)备选方案2
查看用户shell历史记录,例如.bash_history
:
tail -f /home/userxyz/.bash_history
答案 1 :(得分:0)
从搜索路径中删除cat并将其替换为包装脚本。将原始命令放在其他位置。确保正确处理退出代码。
答案 2 :(得分:0)
您可以安装包“psacct”/“acct”
apt-get install acct
or
yum install psacct
使用
启用它systemctl enable psacct
systemctl start psacct
现在您可以检查用户在系统上运行的所有内容。
ac user
ac -d user
lastcomm
lastcomm user
还要检查“auditd”以获取更多审核和记录事件。