Redhat init 脚本最佳实践

Redhat init 脚本最佳实践

我想编写一个 init 服务脚本,以特定用户(而不是 root)身份运行该程序。然后我将 chkconfig 此脚本并安装到我的生产运行级别中。

我可以在脚本中放置一个 su 命令,但我想知道是否有这样做的最佳实践。

谢谢,加里

答案1

你可以直接输入su。你不需要密码,因为脚本最初将以 root 身份运行。

还有runuser命令。

如果您使用,/etc/init.d/functions您可以使用daemon具有指定以何种用户身份运行的选项的功能。

在其他条件相同的情况下,我个人倾向于后者。

答案2

如果您编写了 redhat 风格的初始化脚本,该daemon函数有一个--user选项。

daemon --user=$runasuser --pidfile="$PIDFILE" $yourbinary $youroptions

答案3

最佳做法可能是使用 sudo,并修改必要的文件以确保它自动发生而无需输入密码。如果你不介意密码在脚本中,我认为你可以这样做

 echo password | sudo -S -u username command

你在做什么?也许有更好的方法?

编辑

谢谢 TCampbell

相关内容