我需要执行包含应在根模式下运行的命令的脚本。如果我放在sudo
命令之前,那么当我运行脚本时,我会看到权限被拒绝(我没有机会写入密码)。如果我使用 sudo 运行脚本,则会写入 - 命令未找到。如果我把sudo su
脚本放在开头,那么在输入密码后什么也不会发生。脚本仅在退出 root 模式时执行。如何制作这样的脚本?谢谢。
答案1
您可以通过 sudo 将脚本设置为不需要密码,例如 /etc/sudoers
:
user ALL=(ALL:ALL) NOPASSWD: /path/to/your/script
答案2
(作为新答案发布,因为我无法发表评论并且编辑太小)
您可以使用 结束命令,以""
防止用户使用任意参数运行该命令。
user ALL=(ALL:ALL) NOPASSWD: /path/to/your/script ""
现在sudo /path/to/your/script
可以工作但sudo /path/to/your/script foo bar
失败。