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