假设我的中有这样一行/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 用户身份执行。
请注意,我无法保证其中不存在巨大的安全漏洞。