控制哪些用户 sendmail 以别名运行脚本

控制哪些用户 sendmail 以别名运行脚本

假设我的中有这样一行/etc/aliases

foo-bar:“|/etc/smrsh/some_script”

some_script正在以用户身份运行mail,但我需要它以用户身份运行nobody

我正在使用它procmail作为本地交付代理,系统是一些混合的 RHEL。

我该如何配置 sendmail 或 procmail 来执行我想要的操作?

答案1

您可以使用 sudo 和另一个脚本来执行此操作。在 /etc/sudoers 中,允许用户 mail 以用户 nobody(且仅用户 nobody)身份运行命令,无需密码,如下所示:

mail  ALL = (nobody) NOPASSWD: /usr/bin/script2

那么 some_script 的内容将是 script2 的包装器:

sudo -u nobody /usr/bin/script2

script2 将以 nobody 用户身份执行。

请注意,我无法保证其中不存在巨大的安全漏洞。

相关内容