Поиск по сайту:

Добавление, удаление и предоставление привилегий 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

Статьи по данной тематике