sudo命令没有密码提示
每当我发出命令sudo apt-get install **时,它都不会要求输入密码,也不会在我的管理员用户中。
如何让它提示输入密码?
我的sudoer:
ubuntu:~$ sudo cat /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 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 ALL ALL=(ALL) NOPASSWD:ALL
使用sudo visudo
编辑/etc/sudoers
,并删除最后一行:
ALL ALL=(ALL) NOPASSWD:ALL
(顺便说一下,请注意,对于那些想要这样做的人来说,文件末尾的这一行不是使sudo
不提示输入密码的首选方法。)
使用此命令查找问题的根源:
sudo grep -HRn NOPASSWD /etc/sudoers.d/
就我而言:
/etc/sudoers.d/50_stack_sh:1:username ALL=(root) NOPASSWD:ALL
用#注释该行并关闭您的终端。
我认为最好在文件末尾添加“管理员用户”,因为管理员不必将密码放在终端的每个顺序中,也不允许其他用户执行此操作:
# 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 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 # ALL ALL=(ALL) NOPASSWD:ALL (user here) ALL=(ALL) NOPASSWD:ALL