Назад | Перейти на главную страницу

как запретить «sudo su»

У меня есть несколько серверов, на которых некоторым пользователям для работы требуется быть sudoers. Проблема в том, что когда sudoers могут запускать команду sudo su и войдите как пользователь root. Запускать эту команду кажется очень рискованным.

Я пробовал использовать псевдоним команды в файле / etc / sudoers, но это не сработало. Есть ли способ, которым они являются sudoers, но не запускают команду sudo su?

% sudo ALL = (ВСЕ) NOPASSWD: ALL

Вы фактически предоставили пользователям в группе sudo полный неограниченный контроль над вашей системой. Пытаться отказать им в доступе к su binary, как отметили другие, бесполезен, поскольку у них уже есть привилегия root через sudo и членство в группе.

Вы должны проанализировать рабочий процесс пользователей в группе sudo, чтобы определить, какие команды они необходимость для запуска от имени root и использовать sudo, чтобы предоставить им привилегированный доступ только к этим командам. При необходимости напишите сценарии и предоставьте группе sudo доступ для запуска сценария (убедитесь, что у них нет доступа на запись к нему), а не отдельным командам внутри него.

Например, вы можете определить, что ваши пользователи должны иметь возможность использовать kill и все команды в каталоге /usr/local/sudocmds (где живут ваши локальные скрипты), чтобы вы дали им доступ к sudo вот так

%sudo    ALL=NOPASSWD: /usr/bin/kill, /usr/local/sudocmds

Вы также можете использовать псевдонимы команд

Cmnd_Alias     PRINTING = /usr/sbin/lpc, /usr/bin/lprm
Cmnd_Alias     DUMPS = /usr/bin/mt, /usr/sbin/dump, /usr/sbin/rdump

%sudo ALL=NOPASSWD: PRINTING, DUMPS, /usr/bin/kill, /usr/local/sudocmds

Что добавляет команды в PRINTING и DUMPS Cmnd_Alias ​​в список команд, которые может выполнять группа sudo.

Взгляните на sudoers справочную страницу для получения дополнительной информации и примеров.

Чтобы правильно этого избежать, вы должны использовать другой подход.
Если вы запретите sudo su Я все еще могу бежать sudo -u root /bin/sh если вы запретите это, я напишу небольшой сценарий оболочки и выполню это ...

Единственный способ решить эту проблему - разрешить только необходимые команды.