我正在寻找一种配置sudo不要求输入密码的方法(例如,将其添加NOPASSWD到/etc/sudoers配置中,但通过询问某些内容来回显要执行的命令以进行确认
命令应该cat /etc/passwd被执行吗?(是/否)
我认为下面的功能也许可以解决您的提示问题:
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
}
Run Code Online (Sandbox Code Playgroud)
只要这个函数被加载,它就会优先于sudo命令,但是它不会阻止人们/bin/sudo直接执行。
对于无密码 sudo ,听起来您已经找到了解决方案,但您需要取消/etc/sudoers文件中以下行的注释:
%wheel ALL=(ALL) NOPASSWD: ALL
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
693 次 |
| 最近记录: |