假设我在/etc/aliases有这样一行:
foo-bar:“| / etc / smrsh / some_script”
some_script正在作为用户mail运行,但我需要它作为用户nobody运行。
我使用procmail作为本地交付代理,系统是一些混蛋的RHEL。
我怎样才能configurationsendmail或procmail做我想要的?
你可以用sudo和另一个脚本来做到这一点。 在/ etc / sudoers中,允许用户邮件以没有密码的用户nobody(并且只有用户nobody)运行命令,如下所示:
mail ALL = (nobody) NOPASSWD: /usr/bin/script2
那么some_script的内容将成为script2的包装:
sudo -u nobody /usr/bin/script2
然后脚本2将作为用户nobody执行。
注意我不保证这里没有巨大的安全漏洞。