sudo - 如何确认执行但不请求密码

sudo - 如何确认执行但不请求密码

我正在寻找一种配置sudo不要求输入密码的方法(例如,将其添加到配置NOPASSWD/etc/sudoers,但通过询问某些内容来回显要执行的命令以进行确认

命令应该cat /etc/passwd被执行吗? (是/否)

答案1

我认为下面的功能也许可以解决您的提示问题:

sudo () {
    local command=$@
    read -rp "Shall command $command be executed? (y/N): "
    local YORN_RESP="$(grep -i "[YN]" <<<"${REPLY:0:1}" || echo 'N')"
    if [[ "$YORN_RESP" == [Yy] ]]; then
        command sudo "$@"
    else
        return 1
    fi
}

只要这个函数被加载,它就会优先于命令sudo,但是它不会阻止人们/bin/sudo直接执行。

对于无密码 sudo ,听起来您已经找到了解决方案,但您需要取消文件中以下行的注释/etc/sudoers

%wheel  ALL=(ALL)       NOPASSWD: ALL

相关内容