sudo nopassword 但提示

sudo nopassword 但提示

我想创建一个 bash 工具来帮助备份我的系统,但我计划将其模块化,以便我可以共享它。

我计划编写source一些脚本,用户可以将其下载到“插件”文件夹中,并且我预计其中一些脚本将使用 sudo。现在我知道,对于大多数用户来说,多次使用 sudo 意味着不需要每次都输入密码,但我希望格外警惕,至少在每次尝试 sudo 之间进行确认。这意味着,虽然我不一定需要用户为每个 sudo 命令输入密码,但我确实希望他们手动查看、审查和允许每个 sudo 命令。

有什么办法可以做到这一点?例如:

$ script.sh
doing stuff...
about to run `sudo kill -9 938` do you want to proceed? [y/N] y
password: **********
doing other stuff...
about to run `sudo rm -rf ~/.cache` do you want to proceed? [y/N] y
about to run `sudo rm -rf /` do you want to proceed? [y/N] n
skipping.
etc...
finished.
$ _

编辑:我认为我没有很好地解释这个问题。我希望创建某种子 shell,其中的单词sudo是自定义函数,然后在其中运行脚本。在该自定义函数中,我希望echo确保在实际运行原始命令之前注销所有 sudo 命令。

答案1

我们可以通过将这些命令添加到 NOPASSWD 下的 sudoers 文件中来以非 root 权限运行该命令

尝试以下命令。

 sudo visudo

转到最后一行,然后输入以下命令。

user ALL= NOPASSWD: /bin/bash *.sh

然后保存文件。登录用户并尝试使用 sudo 运行脚本。例如

sudo bash script.sh

相关内容