微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

原文地址:https://www.jb51.cc/ubuntu/348937.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐