我有一个包含多个“sudo”命令的备份脚本。我不想每次运行此脚本时都必须输入用户名和密码。因此,我尝试添加“SUID”位,如下所示:
sudo chmod u+s <filename>
现在我的文件如下所示:
-rwsrwxr-x 1 root erelsgl 1868 Nov 12 09:03 <filename>
但是,当我运行该文件时,仍然会收到密码提示。
我究竟做错了什么?
答案1
问题在于您的文件的所有权是:用户=root 组=erelsgl。
用户根属于根团体。
因此,要解决您的问题:
chown root:root <filename>
chmod u+s <filename>
之后,您可以删除脚本中的 sudo 指令。
我在 lubuntu 12.04 上对此进行了测试。
解决此类问题的另一种更好的方法是配置 sudoers。这里就是一个例子。