我没有注意到,但自从我输入使用 sudo 权限的密码以来已经过了相当长一段时间了。
这是我的/etc/sudoers
文件:
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL:ALL) ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
%jupiter ALL=NOPASSWD: /usr/lib/jupiter/scripts/bluetooth, /usr/lib/jupiter/scripts/camera, /usr/lib/jupiter/scripts/cpu-control, /usr/lib/jupiter/scripts/resolutions, /usr/lib/jupiter/scripts/rotate, /usr/lib/jupiter/scripts/touchpad, /usr/lib/jupiter/scripts/vga-out, /usr/lib/jupiter/scripts/wifi
这让我很担心,因为现在任何脚本都可以运行,而不需要我输入密码。
我看到了以下问题,但它们似乎与这篇文章无关:
我该如何sudo
总是提示我输入密码(除了/etc/sudoers
文件中给出的超时时间?
附言:.bash_aliases
我在我的命令中设置了一些别名,但我希望这与密码提示无关,不是吗?
答案1
你的最后一行是罪魁祸首。我不知道为什么,也许是一个错误,或者我不知道所有的 Linux 规则。
您应该考虑以下几行:
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
因此,删除最后一行并将其放入/etc/sudoers.d/sudo-jupiter
。现在将权限恢复/etc/sudoers
到 ux 和重启系统。
答案2
我找到使用 devstack 安装 grizzly openstack在Ubuntu 12.10上使用创建了一个文件,/etc/sudoers.d/50_stack_sh
其内容如下:
jobin ALL=(root) NOPASSWD:ALL
Defaults:jobin secure_path=/sbin:/usr/sbin:/usr/bin:/bin:/usr/local/sbin:/usr/local/bin
这删除了所有命令的密码提示,我可以以 root 身份运行这些命令,因此从未提示我输入密码。
为了解决这个问题,我删除了该/etc/sudoers.d/50_stack_sh
文件(我不再需要 openstack)。对于那些需要 openstack 和密码提示的人,请将文件内容更改/etc/sudoers.d/50_stack_sh
为:
<username> ALL=(root) ALL
Defaults:<username> secure_path=/sbin:/usr/sbin:/usr/bin:/bin:/usr/local/sbin:/usr/local/bin
<username>
用需要密码提示的账户的用户名替换。
这个答案基于用户 neckTwi的回答和问题Unix 和 Linux 关于 /etc/sudoers 文件的语法。
注意::我已经提出ask.openstack.org 上有一个问题,要求澄清上述方法,希望我们能尽快收到答复:)