在服务中使用sudo启动CenstOS

当我尝试这个代码在我的服务

start() { sudo -u userName "pwd" &>/home/log } 

我在/ home / log得到了这个结果:

 sudo: sorry, you must have a tty to run sudo 

并且服务不会运行,但是当服务器完成启动时,服务会在我打电话时运行

服务testing开始

服务通常以启动(或/etc/init.d/ )脚本的root身份启动。

您可以使用/bin/su命令 (以root身份)来更改用户:

 /bin/su -c "pwd; id" username 

还请阅读关于setuid程序和setuid(2)和setreuid(2)系统调用。 花时间阅读高级Linux编程以了解相关的概念。

考虑还有用户的crontab(5)的@reboot条目。