当我在我的服务中尝试此代码时
start() {
sudo -u userName "pwd" &>/home/log
}
我在/ home / log中得到了这个结果:
sudo: sorry, you must have a tty to run sudo
并且服务不会运行,但是当服务器完成启动时,服务将在我调用时运行
服务测试开始
答案 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
条目。