С тех пор, как я обновляю к 16,04, я замечаю каждый раз, когда я использую любой sudo, управляют, чтобы терминал не спрашивал меня пароль прежде, чем выполнить команду, команда непосредственно выполняется. Я - администратор, и у меня нет никаких других учетных записей пользователей.
Я видел, что sudo не просит пароль, и мой/etc/sudoers точно как данный в ответе, но все еще при использовании sudo команды, терминал не запрашивает пароль, вместо этого выполняют команду.
Я хотел бы знать подробно, как может /etc/sudoers
может быть изменен для
Создание какой-то конкретной учетной записи пользователя (включая администратора), чтобы быть запрошенным или не запрошенным пароль при использовании sudo команды.
Как исключить какую-то конкретную команду, которая будет исключена из запроса пароля при использовании sudo для любой учетной записи пользователя (включая администратора).
Вот мой sudoers файл
# /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,timestamp_timeout=0
# Uncomment to allow members of group sudo to not need a password
# %sudo ALL=NOPASSWD: ALL
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification root ALL=(ALL) ALL
# Members of the admin group may gain root privileges %admin ALL=(ALL) ALL
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
Вывод sudo-l
Matching Defaults entries for bharat on ratcoder:
env_reset, timestamp_timeout=0
User bharat may run the following commands on ratcoder:
(ALL) NOPASSWD: ALL
У Вас был a NOPASSWD
правило относилось к Вашему пользователю в некотором файле в /etc/sudoers.d
. Использовать sudo grep NOPASSWD /etc/sudoers.d -R
узнать который.
Ваш /etc/sudoers
не значение по умолчанию, как бы то ни было. Значение по умолчанию sudoers
может быть получен путем взгляда на sudo
пакет:
$ apt-get download sudo
Get:1 http://mirror.cse.iitk.ac.in/ubuntu xenial-updates/main amd64 sudo amd64 1.8.16-0ubuntu1.1 [389 kB]
Fetched 389 kB in 0s (4,750 kB/s)
$ dpkg-deb --fsys-tarfile sudo*.deb | tar x ./etc/sudoers
$ 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 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
Это довольно отличается от того, что Вы имеете. Восстановление /etc/sudoers
к значению по умолчанию.
Поскольку, исключая определенные команды от требования пароля, посмотрите, Как я выполняю определенные команды sudo без пароля?
Отредактируйте свое sudoers использование файла sudo visudo
.
Найдите эту строку: Defaults env_reset
и измените его на это:
Defaults env_reset,timestamp_timeout=0
Это вынуждает sudo попросить пароля каждый раз у Вашего выполнения это.
OP не упоминает, какой пользователь является администраторским пользователем. Вероятно, это - созданная учетная запись пользователя (и таким образом, это не может применяться), но для других людей, которые сталкиваются с этим потоком, я упоминаю это: при использовании текущей Ubuntu 16.04 AMI на AWS, ubuntu
пользователь по умолчанию не требует пароля для sudo
так, чтобы cloud-init
может использовать его для выполнения. Этот доступ определяется в /etc/sudoers.d/90-cloud-init-users
, как так:
# User rules for ubuntu
ubuntu ALL=(ALL) NOPASSWD:ALL