我有一个脚本,我试图在启动时更改用户(从root用户)。在/etc/rc.d/rc.local中,我已将其更改为cd到脚本目录并执行它。这一切都有效,除了它试图执行时:
sudo -u newuser ./myscript.sh
我收到错误消息:
sorry, you must have a tty to run sudo
所以我去查看我的/ etc / sudoers文件,它已经设置为!requiretty,它应该关闭它。我也尝试过像gksudo这样的替代品,但显然RHEL 6.5只支持基本的sudo。
我知道该脚本有效,因为我可以自己从终端执行它,就在我尝试从启动脚本执行它时。
答案 0 :(得分:1)
刚改变:
sudo -u newuser ./myscript.sh
要:
/bin/su -c ./myscript.sh newuser
它似乎有效。我想因为sudo通常会提升你的权限,但是因为它以root身份启动我并不真正需要它,而是可以使用su代替。将在各个地方尝试这一点,以确保它100%工作。
答案 1 :(得分:0)
su -u newuser -c ./myscript.sh