如何在初始化脚本中以特定用户身份运行命令?
我正在编写一个初始化脚本,该脚本应该以与root用户不同的用户身份执行单个命令。这是我目前正在做的事情:
sudo -u username command
通常,这在Ubuntu / Debian上可以正常工作,但是在RHEL上,该脚本以command
挂起方式执行。
还有另一种以其他用户身份运行命令的方法吗?
(请注意,我不能使用lsb初始化函数,因为它们在RHEL / Centos 5.x中不可用。)
回答:
在RHEL系统上,该/etc/rc.d/init.d/functions
脚本旨在提供与所需内容相似的脚本。如果您将其作为源代码放在init脚本的顶部,则所有功能均可用。
为此提供的特定功能是daemon
。如果打算使用它来启动类似守护程序的程序,则简单的用法是:
daemon --user=username command
如果对于您所需要的东西来说过于繁琐,则有runuser
(请参阅参考资料man runuser
以获取完整信息;-u
用户名之前可能需要某些版本):
/sbin/runuser username -s /bin/bash -c "command(s) to run as user username"
以上是 如何在初始化脚本中以特定用户身份运行命令? 的全部内容, 来源链接: utcz.com/qa/412821.html