我有一个简单的 bash 脚本,以普通用户身份运行良好。从 postfix 启动时,它以 nobody:nobody 身份运行,导致许多命令无法运行。
脚本是否可以在运行时更改为另一个用户帐户,以允许这些其他程序运行?
谢谢
答案1
您需要进行配置sudo
,以便可以以nobody
另一个用户身份运行特定命令。
通常,类似于(在您的sudoers
文件中):
nobody ALL=(userTheScriptShouldRunAs) NOPASSWD: /home/userTheScriptShouldRunAs/test.sh
然后,执行你的脚本:
sudo -u userTheScriptShouldRunAs /home/userTheScriptShouldRunAs/test.sh