Как отключить su для пользователей Sudo

Команда su — это специальная команда Linux, которая позволяет запускать команду от имени другого пользователя и группы. Она также позволяет вам переключиться на учетную запись root (если она запускается без каких-либо аргументов) или другую указанную учетную запись пользователя.

Всем пользователям по умолчанию разрешен доступ к команде su. Но как системный администратор вы можете отключить доступ su для пользователя или группы пользователей, используя файл sudoers, как показано ниже.

Файл sudoers управляет плагином политики безопасности sudo, который определяет привилегии пользователя sudo. Команда sudo позволяет пользователям запускать программы с правами безопасности другого пользователя (по умолчанию, как пользователь root).

Чтобы переключиться на другую учетную запись пользователя, пользователь может запустить команду su из своего текущего сеанса входа в систему, как показано на рисунке. В этом примере пользователь aaronk переключается на учетную запись testuser. Пользователю aaronk будет предложено ввести пароль для учетной записи testuser:

$ su testuser

Переключитесь на другого пользователя
Переключитесь на другого пользователя

Чтобы переключиться на учетную запись root, пользователь должен иметь пароль root или привилегии для вызова команды sudo. Другими словами, пользователь должен существовать в файле sudoers. В следующем примере пользователь aaronk (пользователь sudo) переключается на учетную запись root.

После вызова sudo пользователю aaronk предлагается ввести свой пароль, если он действителен пользователю предоставляется доступ к интерактивной оболочке в качестве root:

$ sudo su

Переключение на пользователя Root
Переключение на пользователя Root

Отключить доступ su для пользователя Sudo

Отключаем доступ su для пользователя с sudo. Например пользователь aaronk, сначала создайте резервную копию исходного файла sudoers, расположенного в /etc/sudoers. Делается это следующим образом:

$ sudo cp /etc/sudoers /etc/sudoers.bak

Далее требуется открыть файл sudoers, используя следующую команду.

Обратите внимание, что не рекомендуется редактировать файл sudoers вручную, всегда используйте команду visudo:

$ sudo visudo

В разделе псевдонимы команд создайте следующий псевдоним:

Cmnd_Alias DISABLE_SU = /bin/su

Затем добавьте следующую строку в конце файла, замените имя пользователя aaronk на пользователя для которого вы хотите отключить доступ su:

aaronk ALL=(ALL) NOPASSWD: ALL, !DISABLE_SU

Сохраните файл и закройте его.

Перейти к статье:  Как установить Webmin на Fedora Linux

Далее проверьте, работает ли то что мы сделали. Система должна вернуть сообщение об ошибке, подобное этому: “Извините, пользователю aaronk не разрешено выполнять ‘/bin/su’ как root на tecmint.”.

$ sudo su

Отключить доступ Su к пользователю Sudo
Отключить доступ Su к пользователю Sudo

Отключить su для пользователей Sudo

Вы также можете отключить доступ su для группы пользователей sudo. Например, чтобы отключить доступ su для всех пользователей в группе admin, измените строку:

%admin ALL=(ALL) ALL

на вот эту строку:

%admin ALL=(ALL) ALL, !DISABLE_SU

Сохраните файл и закройте его.

Чтобы добавить пользователя в группу администратора, выполните команду usermod  (username заменить имя пользователя фактическим пользователем):

$ sudo usermod -aG admin username

Для получения дополнительной информации о susudo и sudoers посмотрите их справочные страницы:

  1. $ man su
  2. $ man sudo
  3. $ man sudeors
Понравилась статья? Поделиться с друзьями:
Комментарии: 2
  1. alef

    Спасибо, за статью.

    1. Nazario (автор)

      Всегда пожалуйста.

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