Команда 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
Отключить su доступ для пользователя Sudo
Отключить su доступ для пользователя sudo, например, для пользователя aaronk, сначала создайте резервную копию исходного файла sudoers, расположенного по адресу /etc/sudoers следующим образом:
$ sudo cp /etc/sudoers /etc/sudoers.bak
Затем откройте файл sudoers с помощью следующей команды. Обратите внимание, что не рекомендуется редактировать файл sudoers вручную, всегда используйте команду visudo:
$ sudo visudo
В разделе команды alias создайте следующий псевдоним:
Cmnd_Alias DISABLE_SU = /bin/su
Затем добавьте следующую строку в конец файла, замените имя пользователя aaronk на необходимое, которого вы хотите отключить от su доступа:
aaronk ALL=(ALL) NOPASSWD: ALL, !DISABLE_SU
Сохраните файл и закройте его.
Затем проверьте, работает ли установка. Система должна вернуть сообщение об ошибке, подобное этому: «Извините, пользователю aaronk не разрешено выполнять ‘/bin/su’ от имени пользователя root на tecmint.».
$ sudo su
Отключить доступ к su для группы пользователей Sudo
Вы также можете отключить su доступ для группы пользователей sudo. Например, чтобы отключить su доступ для всех пользователей в группе администратор измените строку:
%admin ALL=(ALL) ALL
на:
%admin ALL=(ALL) ALL, !DISABLE_SU
Сохраните файл и закройте его.
Чтобы добавить пользователя в группу администратор, запустите команду usermod (замените имя пользователя фактическим пользователем):
$ sudo usermod -aG admin username
Для получения дополнительной информации о su, sudo а также sudoers, проверьте их справки:
$ man su $ man sudo $ man sudoers