我必须维护一个系统(debian),该系统允许多个用户安装程序 - 因此我想记录,例如,如果有人执行“apt-get install”或“apt-get purge”,这样我就可以跟踪手动安装的软件包..
我正在寻找实现此目的的通用方法;它不仅仅是 APT,还包括几个程序/脚本等。
有任何想法吗?
/编辑
使用几个不同的关键词进行 Google 搜索,结果如下:
https://serverfault.com/questions/201221/how-to-log-every-linux-command-to-a-logserver
答案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