Redhat init脚本最佳实践

我想写一个init服务脚本作为一个特定的用户运行程序(而不是根)。 然后我将chkconfig这个脚本并安装到我的生产运行级别。

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

谢谢,Garry

你可以su 。 您将不需要密码,因为脚本将以root身份启动。

还有runuser命令。

如果使用/etc/init.d/functions ,则可以使用daemonfunction,该function有一个用于指定用户运行的选项。

我会亲自向后者倾斜所有其他的事情是平等的。

如果你编写了一个redhat样式的init脚本, daemon函数有一个--user选项。

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

最好的做法可能是使用sudo,并修改必要的文件,以确保它自动发生,而不会提示input密码。 如果你不介意脚本中的密码,我想你可以做类似的事情

  echo password | sudo -S -u username command 

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

编辑

谢谢TCampbell