用户安装包生成电子邮件

用户安装包生成电子邮件

我想知道当用户通过 sudo 安装/卸载任何软件包时,是否存在任何机制。它会生成电子邮件并将其发送到 root 的电子邮件地址。
我使用的是 centos 6.4,通常通过 yum 或直接安装 (rpm) 安装软件包。

答案1

这个问题有点难回答,因为你没有告诉我们你的发行版或你使用的哪个包管理器。有很多方法可以做到这一点,其中之一就是将你的包管理器变成一个函数。我将以此为例apt-get

重命名apt-get可执行文件:

sudo mv /usr/bin/apt-get /usr/bin/apt-get.bin 

制作一个小包装脚本,调用apt-get然后发送电子邮件:

#!/bin/sh

./apt-get.bin "$@" && echo "User $SUDO_USER ran 'apt-get $@'" | 
  sendmail [email protected]

将上述脚本保存为/usr/bin/apt-get并使其可执行:

sudo chmod a+x /usr/bin/apt-get

现在,每次用户成功运行时apt-get都会向发送一封电子邮件[email protected]

这不是最优雅的方法,用户直接调用很容易绕过它,但它可能满足您的需求。如果用户从源代码安装包或直接apt-get.bin使用,它也无济于事。aptitudedpkg

相关内容