не удалось найти запись пользователя в файле sudoers, но у меня есть пользователь, который может использовать sudo

Вопрос или проблема

Как root, разрешил пользователю ubuntu использовать sudo

sudo usermod -a -G sudo ubuntu

но не могу найти никаких записей об этом в файле sudoers – также /etc/sudoers.d/ пуст:

Defaults        env_reset
Defaults        mail_badpass
Defaults     secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"`
Defaults        use_pty
root    ALL=(ALL:ALL) ALL
%admin ALL=(ALL) ALL
%sudo   ALL=(ALL:ALL) ALL
@includedir /etc/sudoers.d

Файл passwd содержит запись:

ubuntu:x:1000:1000:SomeUser,roomNumber,phoneNumber,:/home/ubuntu:/bin/bash

Например, я хотел бы убрать необходимость ввода пароля, изменив запись в файле sudoers:

ubuntu ALL=(ALL) NOPASSWD:ALL

Разве не должна быть запись в файле sudoers или в каком-то файле в /etc/sudoers.d/? Явно чего-то не хватает!

Любые идеи будут очень признательны.

%sudo   ALL=(ALL:ALL) ALL

Вот ваша запись. Участники группы “sudo” могут выполнять любые программы от имени любого пользователя и группы по своему желанию. А ваша команда usermod добавила пользователя ubuntu в группу sudo.

Формат файла sudoers описан в man sudoers, кстати.

Ответ или решение

Проблема, с которой вы столкнулись, связана с тем, как sudo обрабатывает разрешения для пользователей. В случае, описанном вами, пользователь «ubuntu» имеет возможность использовать sudo благодаря членству в группе «sudo». Давайте рассмотрим это подробно.

Понимание Содержимого Файла sudoers

Файл /etc/sudoers, а также файлы в директории /etc/sudoers.d, управляют тем, кто имеет право выполнять команды через sudo. В вашем случае, строка:

%sudo   ALL=(ALL:ALL) ALL

означает, что все пользователи, которые являются членами группы «sudo», могут выполнять любые команды от имени любого пользователя и любой группы на этом компьютере, вводя свой пароль.

Почему Пользователь "ubuntu" Может Использовать Sudo?

После выполнения команды:

sudo usermod -a -G sudo ubuntu

вы добавили пользователя «ubuntu» в группу «sudo». Это автоматом дало этому пользователю все права, предоставленные членам группы «sudo» через соответствующую строку в файле sudoers.

Поскольку запасные файлы в /etc/sudoers.d/ пусты, все правила предоставления прав для sudo содержатся непосредственно в основном файле /etc/sudoers.

Изменение Прав Для Пользователя Без Ввода Пароля

Если вы хотите, чтобы пользователь «ubuntu» мог использовать sudo без необходимости ввода пароля, вам нужно добавить следующую строку в файл sudoers. Однако, помните, что вносить изменения в этот файл следует с осторожностью, используя редактор, такой как visudo, который проверяет синтаксис перед сохранением.

  1. Откройте файл sudoers с помощью команды:

    sudo visudo
  2. Добавьте следующую строку в конце файла:

    ubuntu ALL=(ALL) NOPASSWD:ALL

Это правило позволяет пользователю «ubuntu» выполнять любые команды без ввода пароля.

Заключение

Таким образом, отсутствие явной записи для пользователя в файле sudoers — это нормально в рамках системы управления правами sudo, где роли могут быть связаны с группами пользователей. В вашем случае, добавление пользователя в группу «sudo» автоматом обеспечило ему необходимые привилегии. Если вы нуждаетесь в настройке без пароля, работайте осторожно с файлом sudoers через visudo, чтобы предотвратить нарушения в системе безопасности.

Надеюсь, это объяснение помогло вам лучше понять, как работает система sudo, и как вы можете настроить её под ваши нужды. Если у вас возникнут дополнительные вопросы, пожалуйста, не стесняйтесь спрашивать.

Оцените материал
Добавить комментарий

Капча загружается...