我正在尝试运行脚本而不询问root密码。 所以我有一个带有几个sudo命令的script.sh,我用“sudo visudo”修改了文件sudoers,以便能够在不询问root密码的情况下运行脚本:
%sudo ALL =(ALL:ALL)ALL root ALL =(ALL)NOPASSWD:/home/user/script.sh
我也改变了我的脚本的用户和组(sudo chown root.root script.sh)并更改了(sudo chmod 777 script.sh
)
,但总是我尝试运行我的脚本它要求root密码,我不知道它可以是什么
注意:我试过改变这个> user ALL =(ALL)NOPASSWD:/home/user/script.sh, 和用户,组(用户)和我仍然有同样的问题。
答案 0 :(得分:1)
删除脚本中的所有sudo
命令。只需将以下行放在脚本的开头
#!/bin/bash
if [[ $(/usr/bin/id -u) -ne 0 ]]; then
echo "Aborting: run as root user!"
exit 1
fi
#... your program
这使得整个脚本可以与超级用户一起运行。并且脚本中的命令都不需要sudo前缀。