更改bash脚本中的用户

我有一个简单的bash脚本,作为普通用户运行良好。 从postfix启动时,它以nobody身份运行:没有人阻止许多命令的工作。

脚本可能在运行时更改为另一个用户帐户,以允许其他程序运行?

谢谢

您将需要configurationsudo以便您可以运行一个特定的命令作为nobody将作为另一个用户运行。

通常,像(在你的sudoers文件中):

 nobody ALL=(userTheScriptShouldRunAs) NOPASSWD: /home/userTheScriptShouldRunAs/test.sh 

然后,让你的脚本执行:

 sudo -u userTheScriptShouldRunAs /home/userTheScriptShouldRunAs/test.sh 

您可以使用setuid位设置程序的权限:

chown usertorunas文件名

chmod ug + s文件名

这将使它作为拥有该文件的用户运行。

但是,@Jay提醒了我,它不适用于脚本。 要以不同的用户身份运行脚本,您需要制作一个如下所述的小程序,该程序可以设置为setuid,然后调用脚本。