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