Хорошая новость в том, что я получил sudoers через ldap работает на сервере каталогов Red Hat. Пакет - sudo-1.7.2p1. У меня есть несколько пользователей LDAP / Kerberos в группе LDAP под названием wheel, и у меня есть эта запись в LDAP:
# %wheel, SUDOers, example.com
dn: cn=%wheel,ou=SUDOers,dc=example,dc=com
cn: %wheel
description: Members of group wheel have access to all privileges.
objectClass: sudoRole
objectClass: top
sudoCommand: ALL
sudoHost: ALL
sudoUser: %wheel
Итак, члены группы wheel имеют административные привилегии через sudo. Это было проверено и отлично работает. Теперь у меня есть другая привилегия sudo, настроенная, чтобы позволить членам группы под названием «Администраторы» выполнять две команды в качестве некорневого владельца этих команд.
# %Administrators, SUDOers, example.com
dn: cn=%Administrators,ou=SUDOers,dc=example,dc=com
sudoRunAsGroup: appGroup
sudoRunAsUser: appOwner
cn: %Administrators
description: Allow members of the group Administrators to run various commands
.
objectClass: sudoRole
objectClass: top
sudoCommand: appStop
sudoCommand: appStart
sudoCommand: /path/to/appStop
sudoCommand: /path/to/appStart
sudoUser: %Administrators
К сожалению, членам администраторов по-прежнему отказывают в разрешении на запуск appStart или appStop:
-bash-3.2$ sudo /path/to/appStop
[sudo] password for Aaron:
Sorry, user Aaron is not allowed to execute '/path/to/appStop' as root on host.example.com.
-bash-3.2$ sudo -u appOwner /path/to/appStop
[sudo] password for Aaron:
Sorry, user Aaron is not allowed to execute '/path/to/appStop' as appOwner on host.example.com.
/var/log/secure
показывает мне эти два набора сообщений для двух попыток:
Oct 31 15:02:36 host sudo: pam_unix(sudo:auth): authentication failure; logname=Aaron uid=0 euid=0 tty=/dev/pts/3 ruser= rhost= user=Aaron
Oct 31 15:02:37 host sudo: pam_krb5[1508]: TGT verified using key for 'host/host.example.com@EXAMPLE.COM'
Oct 31 15:02:37 host sudo: pam_krb5[1508]: authentication succeeds for 'Aaron' (Aaron@EXAMPLE.COM)
Oct 31 15:02:37 host sudo: Aaron : command not allowed ; TTY=pts/3 ; PWD=/auto/home/Aaron ; USER=root ; COMMAND=/path/to/appStop
Oct 31 15:02:52 host sudo: pam_unix(sudo:auth): authentication failure; logname=Aaron uid=0 euid=0 tty=/dev/pts/3 ruser= rhost= user=Aaron
Oct 31 15:02:52 host sudo: pam_krb5[1547]: TGT verified using key for 'host/host.example.com@EXAMPLE.COM'
Oct 31 15:02:52 host sudo: pam_krb5[1547]: authentication succeeds for 'Aaron' (Aaron@EXAMPLE.COM)
Oct 31 15:02:52 host sudo: Aaron : command not allowed ; TTY=pts/3 ; PWD=/auto/home/Aaron ; USER=appOwner; COMMAND=/path/to/appStop
Вопросы:
Прямо сейчас я не могу решить проблему, которую не могу определить. Это ошибка поиска LDAP? Это ошибка сопоставления члена группы? Определение причины сбоя команды поможет мне определить исправление ...
Следующий шаг: воссоздайте привилегию в / etc / sudoers и посмотрите, работает ли она локально ...
Ура!
Во-первых, ответ "не-ответ": я забыл поставить sudoHost
атрибуты в моем %Administrators
запись для ветки LDAP sudoers. Я уловил это во вспышке интуиции.
Во-вторых, почти ответный ответ: если бы я лучше поработал с RTFM на странице руководства sudo, я бы увидел sudo -l
, который бы сказал мне, видит ли sudo привилегии. Как только я узнал, что список привилегий возвращается правильно, я мог бы вычеркнуть это из списка возможностей.
Сказав это, я все же хотел бы знать, есть ли у проверки привилегий sudo какие-либо точки входа для отладки. Итак, я решил свою проблему, но не ответил на свой вопрос ...
Вы можете отлаживать sudo / LDAP, установив SUDOERS_DEBUG debug_level
в вашей конфигурации sudo LDAP (возможно, /etc/sudo-ldap.conf
). Значение debug_level
может быть 1 или 2. См. http://www.sudo.ws/sudo/sudoers.ldap.man.html для подробностей.