Давайте иметь файл sudoers в следующей версии
$ sudo cat /etc/sudoers
[sudo] password mee:
#
# 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:/snap/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
Файл выглядит в оригинальном виде, как это предусмотрено Canonical в Ubuntu 18.04. Предположим также, что /etc/sudoers.d не содержит изменений политики sudoers.
mee@hosta:~$ groups
mee cdrom sudo dip plugdev lpadmin sambashare vboxsf
Для команд типа как в следующем примере
mee@hosta:~$ sudo cat /dev/null
Подчеркнуть: -l и -u пользователь, группа -g не используются.
это исполняемый файл sudo
или его плагин sudoers
, где принимается решение переключиться на root? Какой фрагмент руководства по sudo или один из sudoers дает ответ на этот вопрос?
Экземпляр, проверяющий, соответствует ли вызываемая командная строка и ее окружение (каким пользователем она вызывается), %sudo ALL=(ALL:ALL) ALL
должен прийти к выводу, что «ее можно вызывать любому пользователю и любой группе». Однако, где принято решение «пользователь будет переключен на root для выполнения команды»? В плагине sudoers или нет, пока обработка не переходит обратно в исполняемый файл sudo?