Sudo/Domain: различия между версиями
мНет описания правки |
мНет описания правки |
||
Строка 6: | Строка 6: | ||
Для того, чтобы иметь возможность хранить правила sudo в LDAP, нужно расширить текущую схему добавив класс sudoRole и его атрибуты. | Для того, чтобы иметь возможность хранить правила sudo в LDAP, нужно расширить текущую схему добавив класс sudoRole и его атрибуты. | ||
== | == Формат правил sudo == | ||
Класс sudoRole предоставляет множество опций задания правил. Самые базовые это <tt>sudoCommand</tt>, <tt>sudoHost</tt>, <tt>sudoUser</tt>. Кроме этого доступны также <tt>sudoOption</tt>, <tt>sudoRunAsUser</tt>, <tt>sudoRunAsGroup</tt>, <tt>sudoNotBefore</tt>, <tt>sudoNotAfter</tt> и т.п. | |||
== Samba DC == | Таким образом правило с именем run-coreutils разрешающее запускать /bin/ls, /usr/bin/cat для пользователя username1 и username2 на всех хостах без запроса пароля будет выглядеть примерно так | ||
cn=run-coreutils,ou=sudoers,dc=test,dc=alt | |||
sudoCommand: /bin/ls | |||
sudoCommand: /usr/bin/cat | |||
sudoHost: ALL | |||
sudoUser: username1 | |||
sudoUser: username2 | |||
sudoOption: !authenticate | |||
Для задания имени пользователя можно использовать короткое имя (<tt>username1</tt>), длинное (<tt>username1@test.alt</tt>), числовой идентификатор (<tt>#12345678</tt>). Для группы перед именем указывается знак <tt>%</tt> - (<tt>%mygroup</tt>) | |||
== Изменение LDAP схемы == | |||
=== Microsoft ActiveDirectory === | |||
=== Samba DC === | |||
Не смотря на всю схожесть с AD, конфигурация данного решения требует некоторых корректив | Не смотря на всю схожесть с AD, конфигурация данного решения требует некоторых корректив | ||
Версия от 14:02, 2 декабря 2023
Предназначение
В доменной среде удобно размещать правила sudo не в виде отдельных файлов в /etc/sudoers.d, а хранить их в LDAP каталоге. Именно это реализовано при использовании домена на базе FreeIPA. Но и в среде AD/Samba такая же возможность присутствует и не сложна в настройке. Ниже я опишу 2 варианта конфигурации исходя из того на базе чего поднят домен.
Для того, чтобы иметь возможность хранить правила sudo в LDAP, нужно расширить текущую схему добавив класс sudoRole и его атрибуты.
Формат правил sudo
Класс sudoRole предоставляет множество опций задания правил. Самые базовые это sudoCommand, sudoHost, sudoUser. Кроме этого доступны также sudoOption, sudoRunAsUser, sudoRunAsGroup, sudoNotBefore, sudoNotAfter и т.п.
Таким образом правило с именем run-coreutils разрешающее запускать /bin/ls, /usr/bin/cat для пользователя username1 и username2 на всех хостах без запроса пароля будет выглядеть примерно так
cn=run-coreutils,ou=sudoers,dc=test,dc=alt sudoCommand: /bin/ls sudoCommand: /usr/bin/cat sudoHost: ALL sudoUser: username1 sudoUser: username2 sudoOption: !authenticate
Для задания имени пользователя можно использовать короткое имя (username1), длинное (username1@test.alt), числовой идентификатор (#12345678). Для группы перед именем указывается знак % - (%mygroup)
Изменение LDAP схемы
Microsoft ActiveDirectory
Samba DC
Не смотря на всю схожесть с AD, конфигурация данного решения требует некоторых корректив
Примечания
Все это работает при использовании sssd. В случае использования winbind, вероятно, придется использовать sudo-ldap