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

Устранение неполадок sudoers через ldap

Хорошая новость в том, что я получил 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 для подробностей.