sudo это утилита командной строки, которая позволяет доверенным пользователям запускать команды от имени другого пользователя, по умолчанию root.
Из этой статьи вы узнаете, как предоставить пользователю права sudo двумя способами. Во-первых, добавить пользователя в файл sudoers. Этот файл содержит набор правил, определяющих, какие пользователи или группы получают привилегии sudo, а также уровень этих привилегий. Второй вариант – добавить пользователя в группу sudo, указанную в файле sudoers. По умолчанию в Debian и его производных членам группы “sudo”предоставляется доступ к sudo.
Добавление пользователя в группу sudo
Самый быстрый и простой способ предоставить пользователю привилегии sudo – это добавить пользователя в группу “sudo”. Члены этой группы могут выполнить любую команду как root через sudo и предложено аутентифицировать себя с помощью своего пароля при использовании sudo.
Мы предполагаем, что пользователь, которого вы хотите назначить в группу, уже существует.
Выполните приведенную ниже команду от имени пользователя root или другого пользователя sudo, чтобы добавить его в группу sudo
usermod -aG sudo username
Убедитесь, что вы изменили “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”.
Если у вас есть какие-либо вопросы, не стесняйтесь оставлять комментарии.