Garry Harthill Asked: 2009-06-20 05:38:28 +0800 CST2009-06-20 05:38:28 +0800 CST 2009-06-20 05:38:28 +0800 CST Redhat 初始化脚本最佳实践 772 我想编写一个以特定用户(而不是 root)身份运行程序的初始化服务脚本。然后我将 chkconfig 这个脚本并安装到我的生产运行级别。 我可以在脚本中放一个 su 命令,但我想知道是否有这样做的最佳实践。 谢谢,加里 linux redhat rhel5 lsb init.d 3 个回答 Voted Best Answer Jason Tan 2009-06-20T06:44:44+08:002009-06-20T06:44:44+08:00 你可以su。您不需要密码,因为脚本最初将以 root 身份运行。 还有runuser命令。 如果您使用/etc/init.d/functions,您可以使用daemon具有指定用户运行选项的功能。 我个人会倾向于后者,所有其他条件都相同。 Dan Pritts 2012-12-20T08:32:28+08:002012-12-20T08:32:28+08:00 如果你编写一个 redhat 风格的 init 脚本,该daemon函数有一个--user选项。 daemon --user=$runasuser --pidfile="$PIDFILE" $yourbinary $youroptions Matt Simmons 2009-06-20T05:50:42+08:002009-06-20T05:50:42+08:00 最佳实践可能是使用 sudo,并修改必要的文件以确保它自动发生而不会提示输入密码。如果您不介意脚本中的密码,我认为您可以执行类似的操作 echo password | sudo -S -u username command 你在做什么?也许有更好的方法? 编辑 谢谢 TCampbell
你可以
su
。您不需要密码,因为脚本最初将以 root 身份运行。还有
runuser
命令。如果您使用
/etc/init.d/functions
,您可以使用daemon
具有指定用户运行选项的功能。我个人会倾向于后者,所有其他条件都相同。
如果你编写一个 redhat 风格的 init 脚本,该
daemon
函数有一个--user
选项。最佳实践可能是使用 sudo,并修改必要的文件以确保它自动发生而不会提示输入密码。如果您不介意脚本中的密码,我认为您可以执行类似的操作
你在做什么?也许有更好的方法?
编辑
谢谢 TCampbell