当前位置:首页> 正文

ubuntu – 以rc.local的形式执行脚本而不是root用户

ubuntu – 以rc.local的形式执行脚本而不是root用户
我希望每次服务器启动时都执行一个脚本.问题是我需要成为某个用户来执行脚本,如果我尝试以root身份执行它无法找到某些包(例如 ruby).

我尝试更改为xxx user01.

sudo su user01/etc/init.d/script start

但是,这不起作用.

在脚本中运行sudo su user01并不意味着将以下命令发送到结果shell.事实上,它可能意味着一个新的shell被生成为user01,它永远不会退出!

两件事情:

>您可以通过将-c’命令…’参数传递给su来执行另一个用户的命令,例如su user01 -c’ / etc / init.d / script start’.>从rc.local启动使用/etc/init.d的服务不是正确的做法.您希望在启动时使用分发工具启用服务,例如chkconfig或update-rc.d.您也不希望/etc/init.d中的作业不应该以root身份启动.作业本身可以随意分配到另一个用户帐户,但应该由root调用.

展开全文阅读

相关内容