如果在bash中运行特定命令,如何获得通知

时间:2018-06-05 16:26:26

标签: linux bash shell

我有一个要求。我需要在任何用户运行unix命令时打印特定的消息。 例如,如果有人运行cat命令或者如果在命令行上执行cat命令。我需要终端上的自定义消息。

3 个答案:

答案 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”以获取更多审核和记录事件。