Добавление, удаление и предоставление привилегий Sudo пользователям в CentOS
Пользователь "sudo"
может запускать административную задачу или команду, выполнение которых обычному пользователю запрещено. В этом руководстве объясняется, как добавлять, удалять и предоставлять привилегии sudo
пользователям в CentOS и других системах на базе RHEL. Я использовал следующие шаги для создания пользователя sudo в минимальной версии CentOS 8. Однако он должен работать и в других системах на базе RPM.
Что такое судо?
В Linux и Unix в целом программа sudo
позволяет обычному пользователю временно получить права суперпользователя или root
пользователя. . Используя команду sudo
, обычный пользователь может выполнять административные задачи, даже не имея доступа к паролю пользователя root
. Вместо того, чтобы разглашать кому-либо пароль root
, просто назначьте пользователям разрешения sudo
, чтобы повысить их привилегии. Слово «sudo» первоначально произошло от «superuser do», поскольку оно в основном использовалось для выполнения задач суперпользователя. Теперь это также означает «заменить пользователя».
Преимущества пользователей sudo
Будучи пользователем sudo
, вы получаете множество преимуществ, перечисленных ниже:
- Системному администратору не обязательно сообщать всем пароль пользователя
root
. - Обычный пользователь может выполнять административные задачи, даже если он/она не знает пароль
root
. - Разрешения sudo могут быть предоставлены и отозваны у пользователей в любое время.
- Сеанс sudo автоматически истечет после определенного периода бездействия пользователя. Это весьма полезно, когда пользователь забыл выйти из сеанса. По умолчанию срок действия сеанса sudo истекает через 15 минут бездействия.
- Системные администраторы могут отслеживать действия всех пользователей sudo. Все действия пользователей sudo регистрируются в файле
/var/log/secure
. Если есть какие-либо проблемы, вы можете просмотреть файл журнала и попытаться выяснить, что пошло не так. Вы также сможете узнать, кто злоупотребляет привилегиями sudo, и просто отозвать его разрешение.
Добавление, удаление и предоставление привилегий Sudo пользователям в CentOS
Войдите в свою систему CentOS как пользователь root
или как любой пользователь, имеющий разрешение sudo.
Сначала добавим нового пользователя.
1. Добавьте пользователей в CentOS
Позвольте мне создать нового пользователя с именем «sentil». Для этого я выполнил следующую команду от имени пользователя root
из терминала:
adduser senthil
Установите пароль для нового пользователя «senthil»:
passwd senthil
Теперь мы создали обычного пользователя. Он пока не уполномочен выполнять какие-либо административные задачи. Давайте проверим, может ли пользователь «senthil» использовать команду sudo
, выполнив следующую команду:
sudo -l -U senthil
Пример вывода:
User senthil is not allowed to run sudo on centos8
Проверьте, есть ли у пользователя привилегии sudo в centos
Да, ему пока не разрешено запускать sudo
в моей системе CentOS 8. Давайте сейчас предоставим ему права sudo
.
2. Предоставьте привилегии sudo пользователям в CentOS.
Чтобы добавить обычного пользователя в группу sudoers, вам необходимо добавить его/ее в группу wheel
. Для тех, кому интересно: колесо
— это специальная группа в некоторых Unix-подобных операционных системах. Всем членам группы wheel
разрешено выполнять административные задачи. Группа Wheel аналогична группе sudo
в системах на базе Debian.
Мы можем добавлять пользователей в sudoers двумя способами. Первый метод — использование команды chmod
.
2.1. Добавьте пользователей в sudoers с помощью команды usermod
в CentOS.
Теперь давайте предоставим привилегии sudo вновь созданному пользователю «senthil», добавив его в группу wheel
с помощью команды usermod
, как показано ниже:
usermod -aG wheel senthil
Добавьте пользователей в sudoers с помощью команды usermod
в CentOS
Здесь -aG
относится к добавлению в дополнительную группу. В нашем случае это группа wheel
. Вот и все, мы только что предоставили права sudo пользователю «senthil».
Давайте проверим, находится ли пользователь в списке sudoers с помощью команды:
sudo -l -U senthil
Пример вывода:
Matching Defaults entries for senthil on centos8:
!visiblepw, always_set_home, match_group_by_gid,
always_query_group_plugin, env_reset, env_keep="COLORS DISPLAY
HOSTNAME HISTSIZE KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR
USERNAME LANG LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE
LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY
LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL
LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY",
secure_path=/sbin:/bin:/usr/sbin:/usr/bin
User senthil may run the following commands on centos8:
(ALL) ALL
Проверьте, есть ли у пользователя права sudo в centos
Как вы можете видеть в последней строке приведенного выше вывода, пользователь «sentil» теперь может выполнять все команды.
2.2. Добавьте пользователей в sudoers, отредактировав файл конфигурации sudoers в CentOS.
Другой способ добавить пользователей в список sudoers — напрямую добавить его/ее в файл конфигурации sudoers.
Отредактируйте файл конфигурации sudoers с помощью команды:
visudo
Это откроет файл /etc/sudoers
в вашем редакторе Vi или в любом другом месте, указанном в вашем ` PATH
. Прокрутите вниз, пока не найдете следующую запись:
root ALL=(ALL) ALL
Сразу после приведенной выше записи добавьте следующую строку:
senthil ALL=(ALL) ALL
Добавьте пользователей в файл конфигурации sudoers в CentOS
Здесь строка ALL=(ALL) ALL
указывает на то, что пользователь «senthil» может выполнять любые команды на любом хосте. Замените «sentil» на свое имя пользователя. Сохраните и закройте файл. Сделанный! Пользователь «senthil» добавлен в список sudoers.
2.3. Проверьте пользователей sudo в CentOS
Выйдите из текущего сеанса и снова войдите в систему как вновь созданный пользователь sudo. Альтернативно вы можете напрямую переключиться на другого пользователя без необходимости выхода из текущего сеанса, используя следующую команду:
sudo -i -u senthil
Теперь проверьте, может ли пользователь выполнять какие-либо административные задачи с разрешением sudo
:
sudo dnf update
Проверьте пользователей sudo
3. Удалите привилегии sudo у пользователя в CentOS.
Мы можем лишить пользователя привилегий sudo без необходимости полностью удалять учетную запись пользователя.
Чтобы отозвать разрешения sudo у пользователя, просто запустите следующую команду от имени пользователя root
:
gpasswd -d senthil wheel
Пример вывода:
Removing user senthil from group wheel
Удалить привилегии sudo у пользователя в CentOS
Приведенная выше команда удалит пользователя с именем "senthil"
из группы "wheel"
. Обратите внимание, что пользователь не удаляется из системы полностью. Мы удалили только привилегии sudo.
Проверьте, может ли пользователь выполнять операции sudo:
sudo -l -U senthil
User senthil is not allowed to run sudo on centos8.
Итак, senthil
больше не входит в группу sudoers и не может выполнять какие-либо административные задачи.
Чтобы навсегда удалить пользователя из системы, запустите:
userdel -r senthil
Приведенная выше команда удалит пользователя «senthil» вместе с его домашним
каталогом и почтовой очередью.
Более подробную информацию можно найти на странице руководства соответствующей команды:
man sudo
man adduser
man usermod
man gpasswd
man userdel
Заключение
Теперь вы знаете, как добавлять, удалять и предоставлять привилегии sudo пользователям в операционных системах CentOS. Как видите, очень легко добавлять новых пользователей в списки sudoers, предоставлять привилегии sudo существующему пользователю и удалять разрешения sudo у пользователя. Надеюсь это поможет.
Связанное чтение:
- Как добавлять, удалять и предоставлять привилегии Sudo пользователям в Alpine Linux
- Как добавлять, удалять и предоставлять привилегии Sudo пользователям в Arch Linux
- Как добавлять, удалять и предоставлять привилегии Sudo пользователям в Fedora
- Как добавлять, удалять и предоставлять привилегии Sudo пользователям в Ubuntu
- Как изменить время ожидания пароля Sudo в Linux
- Как изменить файл журнала Sudo по умолчанию в Linux
- Как восстановить права пользователя Sudo
- Как найти всех пользователей Sudo в вашей системе Linux
- Как запустить определенные команды без пароля Sudo в Linux