![在 bash 脚本中更改用户](https://linux22.com/image/799284/%E5%9C%A8%20bash%20%E8%84%9A%E6%9C%AC%E4%B8%AD%E6%9B%B4%E6%94%B9%E7%94%A8%E6%88%B7.png)
我有一个简单的 bash 脚本,以普通用户身份运行良好。从 postfix 启动时,它以 nobody:nobody 身份运行,导致许多命令无法运行。
脚本是否可以在运行时更改为另一个用户帐户,以允许这些其他程序运行?
谢谢
答案1
您需要进行配置sudo
,以便可以以nobody
另一个用户身份运行特定命令。
通常,类似于(在您的sudoers
文件中):
nobody ALL=(userTheScriptShouldRunAs) NOPASSWD: /home/userTheScriptShouldRunAs/test.sh
然后,执行你的脚本:
sudo -u userTheScriptShouldRunAs /home/userTheScriptShouldRunAs/test.sh