每当我发出命令时,sudo apt-get install foo
它都不会要求输入密码。是因为用户组吗?
如何使其提示输入密码?
编辑:我的 sudoers 文件
apple@Ascension:~$ 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
# 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
#includedir /etc/sudoers.d
ALL ALL=(ALL) NOPASSWD:ALL
ALL ALL=(ALL) NOPASSWD:ALL
ALL ALL=(ALL) NOPASSWD:ALL
答案1
使用命令sudo visudo
您可以查看和编辑 sudo 配置,例如:
# 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
# Group without password
%nopwd ALL=NOPASSWD: ALL
您当前的用户可能是某个特权组的成员,该组允许他无需密码即可输入 sudo 命令。在此示例中,admin
和sudo
组的成员可以使用 sudo 发出任何命令,但会提示输入密码; 组的成员nopwd
不会提示输入密码。
请注意,声明顺序与属于多个组的用户相关。不直观的是,最后一个匹配的组获胜!
为了要求输入密码,您可以PASSWD: /usr/bin/apt-get
在文件中添加命令规范/etc/sudoers
;请注意,您可能需要允许特定命令不设密码,其他所有命令都设密码。下面是一个明确要求 apt-get 密码的示例:
%users ALL=NOPASSWD: /sbin/reboot, PASSWD: /usr/bin/apt-get
请注意,你可以以比允许所有命令就像我的第一个例子一样(Ubuntu fr 文档)(文档 ubuntu en)。