🐧 Добавление, удаление и предоставление прав Sudo пользователям в CentOS – Information Security Squad
🐧 Добавление, удаление и предоставление прав Sudo пользователям в CentOS

Пользователь “sudo” может запускать административную задачу или команду, что не разрешено обычному пользователю.

В этом руководстве объясняется, как добавлять, удалять и предоставлять привилегии sudo пользователям CentOS и других системах на основе RHEL.

Приведенные ниже шаги протестированы в минимальной версии CentOS 8, однако она должна работать и в других системах на основе RPM.

Что такое sudo?

В Linux и Unix в целом программа sudo позволяет обычному пользователю временно получить возможности суперпользователя или пользователя root.

Используя команду sudo, обычный пользователь может выполнять административные задачи, даже не имея доступа к паролю пользователя root.

Вместо того, чтобы давать кому-либо пароль root, просто назначьте пользователям права sudo, чтобы повысить их привилегии.

Слово «sudo» первоначально произошло от «superuser do», поскольку оно в основном используется для выполнения задач суперпользователя.

Теперь оно также означает “substitute user do”.

Преимущества использования sudo

Использование sudo дает множество преимуществ, перечисленных ниже:

  • Системному администратору не нужно сообщать всем пароль пользователя root.
  • Обычный пользователь может выполнять административные задачи, даже если он/она не знает пароль root.
  • Права sudo можно предоставить и отозвать пользователям в любое время.
  • Сеанс sudo автоматически истечет после определенного периода бездействия пользователя. Это очень полезно, когда пользователь забыл выйти из сеанса. По умолчанию сеанс sudo истекает через 15 минут бездействия.
  • Системные администраторы могут отслеживать действия всех пользователей sudo. Все действия пользователей sudo регистрируются в файле /var/log/secure. Если есть какие-либо проблемы, вы можете посмотреть файл журнала и попытаться выяснить, что пошло не так. Вы также узнаете, кто злоупотребляет привилегиями sudo, и можете просто отозвать эти права.

Добавление, удаление и предоставление прав Sudo пользователям в CentOS

Войдите в систему CentOS от пользователя root или любого пользователя с правами sudo.

Во-первых, давайте добавим привилегии sudo новому пользователю.

1. Добавим пользователей sudo в CentOS

Позвольте мне создать нового пользователя с именем «senthil».

Для этого я выполню следующую команду от имени пользователя root из терминала:

# adduser senthil

Установим пароль для нового пользователя senthil:

# passwd senthil
Он еще не авторизован для выполнения каких-либо административных задач.
Давайте проверим, может ли пользователь senthil использовать команду sudo:
# sudo -l -U senthil

Пример вывода:

User senthil is not allowed to run sudo on centos8
Все правильно, ему еще не разрешено запускать sudo в моей системе CentOS 8.
Давайте сейчас дадим ему права sudo.

2. Предоставим привилегии sudo пользователям в CentOS.

Чтобы добавить обычного пользователя в группу sudoers, вам необходимо добавить его в группу wheel.

Для тех, кому интересно, wheel – это особая группа в некоторых Unix-подобных операционных системах.

Всем членам группы wheel разрешено выполнять административные задачи.

Группа Wheel похожа на группу sudo в системах на основе Debian.

Мы можем добавлять пользователей в sudoers двумя способами.

Первый способ – использовать команду chmod.

2.1. Добавление пользователей в sudoers с помощью команды usermod в CentOS

Теперь давайте предоставим привилегии sudo вновь созданному пользователю “senthil”, добавив его в группу wheel с помощью команды usermod, как показано ниже:

# usermod -aG wheel senthil

Здесь -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

Как вы можете видеть в последней строке вышеприведенного вывода, пользователь «senthil» теперь может выполнять все команды.

2.2. Добавим пользователей в sudoers, отредактировав файл конфигурации sudoers в CentOS

Другой способ добавить пользователей в список sudoers – напрямую добавить его/ее в файл конфигурации sudoers.

Отредактируйте файл конфигурации sudoers с помощью команды:

# visudo

Система откроет файл /etc/sudoers в вашем редакторе Vi или в том, что у вас есть в вашем $PATH.

Прокрутите вниз, пока не найдете следующую запись:

root    ALL=(ALL)       ALL
Сразу после указанной выше записи добавьте следующую строку:
senthil ALL=(ALL)       ALL
Здесь строка ALL = (ALL) ALL указывает на то, что пользователь «senthil» может выполнять любые команды на любом хосте.
Замени “senthil” своим именем пользователя.
Сохраните и закройте файл.
Вот и все.
Пользователь “senthil” был добавлен в список sudoers.

2.3. Проверка пользователей sudo в CentOS

Выйдите из текущего сеанса и войдите снова за вновь созданного пользователя sudo.

В качестве альтернативы вы можете напрямую переключиться на другого пользователя, не выходя из текущего сеанса, используя следующую команду:

# sudo -i -u senthil

Теперь проверьте, может ли пользователь выполнять какую-либо административную задачу с правами sudo:

$ sudo dnf update

3. Удалим привилегии sudo у пользователя CentOS.

Мы можем лишить пользователя прав sudo без полного удаления его учетной записи.

Чтобы отозвать разрешения sudo у пользователя, просто выполните следующую команду от имени пользователя root:

# gpasswd -d senthil wheel

Вывод:

Removing user senthil from group wheel

Вышеупомянутая команда удалит пользователя с именем «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 gpasswd
$ man userdel

Заключение

Теперь вы знаете, как добавлять, удалять и предоставлять права sudo пользователям в операционных системах CentOS.
Как видите, очень легко добавить новых пользователей в списки sudoers, предоставить привилегии sudo существующему пользователю и удалить права sudo у этого пользователя.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *