记录 Linux 上某些命令的执行情况

记录 Linux 上某些命令的执行情况

我必须维护一个系统(debian),该系统允许多个用户安装程序 - 因此我想记录,例如,如果有人执行“apt-get install”或“apt-get purge”,这样我就可以跟踪手动安装的软件包..

我正在寻找实现此目的的通用方法;它不仅仅是 APT,还包括几个程序/脚本等。

有任何想法吗?

/编辑

使用几个不同的关键词进行 Google 搜索,结果如下:

https://serverfault.com/questions/201221/how-to-log-every-linux-command-to-a-logserver

https://stackoverflow.com/questions/15698590/how-to-capture-all-the-commands-typed-in-unix-linux-by-any-user

http://sourceforge.net/projects/rootsh/

答案1

答案2

也许这可以满足您的需求,如果用户使用 sudo 安装包,请尝试以下操作:

$ sudo cat auth.log | grep sudo(or apt-get or any other program/script)

您还可以将结果打印到文件并为此创建一个 cronjob。

编辑:

禁用“sudo su”以简化日志记录。

1. Use visudo for editing the sudoers file.
2. Add a line like this one: Cmnd_Alias  SUCMD = /bin/su
3. Be sure to use !SUCMD for the user or system privileges: %sudo ALL=(ALL) ALL,!SUCMD

答案3

史努比很容易上手。

如果您需要更多(就可靠性或“不可规避性”而言),您应该寻找适当的审计解决方案。

披露:史努比维护者在此。

相关内容