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调用.

猜你在找的Ubuntu相关文章