sudo
— это утилита командной строки, которая позволяет доверенным пользователям запускать команды от имени другого пользователя, по умолчанию root.
В этом руководстве показаны два способа предоставить пользователю права sudo. Первый — добавить пользователя в файл sudoers . Этот файл содержит набор правил, определяющих, каким пользователям или группам предоставляются привилегии sudo, а также уровень этих привилегий. Второй вариант — добавить пользователя в группу sudo, указанную в файле sudoers
. По умолчанию в Debian и его производных членам группы «sudo» предоставляется доступ sudo.
Содержание
Добавление пользователя в группу sudo
Самый быстрый и простой способ предоставить пользователю права sudo — это добавить его в группу «sudo». Члены этой группы могут выполнять любую команду как root через sudo
и sudo
запрос на аутентификацию с помощью своего пароля при использовании sudo
.
Мы предполагаем, что пользователь, которого вы хотите назначить группе, уже существует .
Выполните команду ниже от имени пользователя root или другого пользователя sudo, чтобы добавить пользователя в группу sudo
usermod -aG sudo username
Убедитесь, что вы заменили «username» на имя пользователя, которому вы хотите предоставить доступ.
Предоставления доступа sudo с помощью этого метода достаточно для большинства случаев использования.
Чтобы убедиться, что пользователь был добавлен в группу, введите:
sudo whoami
Вам будет предложено ввести пароль. Если у пользователя есть доступ к sudo, команда выведет «root». В противном случае вы получите сообщение об ошибке «пользователя нет в файле sudoers».
Добавление пользователя в файл sudoers
/etc/sudoers
доступа sudo пользователей и групп определены в /etc/sudoers
. Этот файл позволяет вам предоставлять индивидуальный доступ к командам и устанавливать собственные политики безопасности.
Вы можете настроить доступ пользователей, отредактировав файл sudoers или создав новый файл конфигурации в каталоге /etc/sudoers.d
. Файлы внутри этого каталога включены в файл sudoers.
Всегда используйте команду visudo
для редактирования файла /etc/sudoers
. Эта команда проверяет файл на наличие синтаксических ошибок при его сохранении. Если есть ошибки, файл не сохраняется. Если вы редактируете файл с помощью обычного текстового редактора, синтаксическая ошибка может привести к потере доступа sudo.
visudo
использует редактор, указанный в EDITOR
среды EDITOR
, для которой по умолчанию установлено значение vim. Если вы хотите отредактировать файл с помощью nano , измените переменную, запустив:
EDITOR=nano visudo
Допустим, вы хотите разрешить пользователю запускать команды sudo без запроса пароля. Для этого откройте файл /etc/sudoers
:
visudo
Прокрутите вниз до конца файла и добавьте следующую строку:
username ALL=(ALL) NOPASSWD:ALL
Сохраните файл и выйдите из редактора . Не забудьте изменить «имя пользователя» на имя пользователя, которому вы хотите предоставить доступ.
Другой типичный пример — разрешить пользователю запускать только определенные команды через sudo
. Например, чтобы разрешить только команды mkdir
и rmdir
вы должны использовать:
username ALL=(ALL) NOPASSWD:/bin/mkdir,/bin/rmdir
Вместо редактирования файла sudoers вы можете добиться того же, создав новый файл с правилами авторизации в каталоге /etc/sudoers.d
. Добавьте то же правило, что и в файл sudoers:
echo "username ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/username
Такой подход делает управление привилегиями sudo более удобным в обслуживании. Имя файла не имеет значения, но принято называть файл в соответствии с именем пользователя.
Выводы
Чтобы предоставить пользователю доступ к sudo в Debian, просто добавьте пользователя в группу «sudo».
Если у вас есть вопросы, не стесняйтесь оставлять комментарии.