在服务启动CentOS中使用sudo

时间:2013-08-31 09:00:34

标签: linux bash service

当我在我的服务中尝试此代码时

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

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

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

并且服务不会运行,但是当服务器完成启动时,服务将在我调用时运行

服务测试开始

1 个答案:

答案 0 :(得分:4)

服务通常以root从启动(或/etc/init.d/)脚本开始。

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

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

另请阅读setuid计划以及setuid(2)setreuid(2)系统调用。花点时间阅读Advanced Linux Programming以了解相关概念。

考虑为用户crontab(5)提供@reboot条目。