
sudo — это утилита командной строки, которая позволяет доверенным пользователям запускать команды от имени другого пользователя, по умолчанию root.
В этом руководстве показаны два способа предоставления пользователю привилегий sudo. Первый способ — добавить пользователя в файл sudoers . Этот файл содержит набор правил, определяющих, каким пользователям или группам предоставлены привилегии sudo, а также уровень этих привилегий. Второй способ — добавить пользователя в группу sudo, указанную в файле sudoers . По умолчанию в Debian и производных от него дистрибутивах членам группы «sudo» предоставляется доступ к sudo.
Добавление пользователя в группу sudo
Самый быстрый и простой способ предоставить пользователю права sudo — добавить его в группу sudo. Члены этой группы могут выполнять любые команды от имени root через sudo , получая при этом запрос на аутентификацию с помощью sudo .
Мы предполагаем, что пользователь, которого вы хотите добавить в группу, уже существует .
Выполните команду ниже как пользователь root или другой пользователь sudo, чтобы добавить пользователя в группу sudo.
usermod -aG sudo username
Обязательно замените «имя пользователя» на имя пользователя, которому вы хотите предоставить доступ.
Предоставление доступа sudo с использованием этого метода достаточно для большинства случаев использования.
Чтобы убедиться, что пользователь добавлен в группу, введите:
sudo whoami
Вам будет предложено ввести пароль. Если у пользователя есть доступ к sudo, команда выведет «root». В противном случае вы получите ошибку «user is not in the sudoers file».
Добавление пользователя в файл sudoers
Права доступа sudo для пользователей и групп определяются в файле /etc/sudoers . Этот файл позволяет настраивать доступ к командам и устанавливать собственные политики безопасности.
Вы можете настроить доступ пользователя, отредактировав файл sudoers или создав новый файл конфигурации в каталоге /etc/sudoers.d . Файлы внутри этого каталога включены в файл sudoers.
Всегда используйте команду visudo для редактирования файла /etc/sudoers . Эта команда проверяет файл на наличие синтаксических ошибок при его сохранении. При наличии ошибок файл не сохраняется. При редактировании файла в обычном текстовом редакторе синтаксическая ошибка может привести к потере доступа к sudo.
visudo использует редактор, заданный переменной окружения EDITOR , которая по умолчанию установлена в vim. Если вы хотите редактировать файл с помощью nano , измените значение переменной, выполнив:
EDITOR=nano visudo
Предположим, вы хотите разрешить пользователю выполнять команды sudo без запроса пароля. Для этого откройте файл /etc/sudoers :
visudo
Прокрутите файл до конца и добавьте следующую строку:
/etc/sudoers
username ALL = (ALL) NOPASSWD:ALL
Сохраните файл и выйдите из редактора . Не забудьте заменить «username» на имя пользователя, которому вы хотите предоставить доступ.
Другой типичный пример — разрешить пользователю выполнять только определённые команды через sudo . Например, чтобы разрешить только команды mkdir и rmdir , используйте:
/etc/sudoers
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».
Если у вас есть вопросы, не стесняйтесь оставлять комментарии.
Связанные руководства