首先,我已经使用史努比几年了,它不是我需要的,而且检查历史文件对我来说也不是一个解决方案。
我必须授予开发人员 ROOT 访问权限才能在服务器上安装程序,并且我知道他将在退出会话后删除历史记录。
我需要检查他运行了哪些命令来保护服务器免受滥用活动的侵害。
有没有什么办法可以解决记录命令的问题?
答案1
我必须授予开发人员 ROOT 访问权限才能安装程序......
不,你不需要。
让他们写下来或者更好的是,脚本安装步骤并代表他们执行。
这称为职责分离。他们是开发人员。你是系统管理员。让他们做那些事他们是擅长(编写代码、测试等)和你做那些事你是擅长(确保机器安全并高效运行等)。
...我知道他将在退出会话后删除历史记录。
这是贵公司的“标准做法”吗?如果不是,他们为什么觉得有必要这么做?
我需要检查他运行了哪些命令来保护服务器免受滥用活动的侵害。
很明显你没有相信这位开发者。
如果是这样的话,那么你不应该让他们附近任何地方这台服务器
。你的工作如果你允许他们在那里安装一些可疑的东西。
如果有必要,将问题上报给管理层。
答案2
您可以使用以下方式记录用户的所有活动psacct
包裹。
该
psacct
软件包包含几个用于监控进程活动的实用程序,包括ac
、lastcomm
和。accton
sa
该
ac
命令显示有关用户登录时间的统计信息。该
lastcomm
命令显示有关以前执行的命令的信息。该
accton
命令打开或关闭进程记帐。该
sa
命令总结了有关先前执行的命令的信息。
在 RHEL/Fedora/CentOS 上安装
# yum install psacct
在 Ubuntu/Debian 上安装
$ sudo apt-get install acct
或者
# apt-get install acct
在 RHEL 中输入以下命令来创建/va/帐户/pacct文件并启动服务
# chkconfig psacct on
# /etc/init.d/psacct start
在 Suse 中输入以下命令来创建/va/帐户/pacct文件并启动服务
# chkconfig acct on
# /etc/init.d/acct start
显示执行的命令用户
$ lastcomm [USER]