«Success = n» управляющий синтаксис в файлах pam.conf / pam.d / *

16

После успешной настройки Kerberos вот что я нашел в /etc/pam.d/common-authфайле:

auth    [success=2 default=ignore]      pam_unix.so nullok_secure
auth    [success=1 default=ignore]      pam_winbind.so krb5_auth krb5_ccache_type=FILE cached_login try_first_pass
auth    requisite                       pam_deny.so
auth    required                        pam_permit.so

Означает ли success=2контрольное значение, что в случае pam_unix.so сбоя аутентификация переходит к auth requisite pam_deny.soстроке или к последней строке?

Джейми
источник

Ответы:

17

success=$numНасколько я понимаю, уточню, сколько правил пропустить при успешном выполнении. Так что, если pam_unix.soили pam_winbind.soудастся, PAM перейдет к последней строке. Конечно, последняя строка разрешает доступ во всех случаях.

сигнализатор
источник
Просто быть чистым; Строки 1 и 2 переходят к строке 4, когда любой из них удастся. Имеет смысл.
Джейми
Спасибо за ответы на другие мои вопросы PAM: оказывается, все мои вопросы были спорными; Я ограничил ssh логины определенным списком пользователей и забыл об этом, когда добавил аутентификацию домена. Когда я добавил Kerberos, он корректно изменил файлы PAM для аутентификации AD.
Джейми
2

pam.d (5) - справочная страница по Linux

Для более сложного синтаксиса допустимые управляющие значения имеют следующую форму:
[value1=action1 value2=action2 ...]
actionN может быть: целое число без знака, n, обозначающее действие «перепрыгнуть через следующие n модулей в стеке»

Что говорит обычный автор:

  1. Если локальная аутентификация UNIX вернется успешно , перепрыгните два модуля к 4-му модулю (модуль 1 + 2 модуля для перехода -> модуль 4). В противном случае проигнорируйте результат локальной аутентификации и перейдите к следующему модулю.
  2. Если winbind (замененный sssd в наши дни) с аутентификацией kerberos возвращает успех , перепрыгните один модуль к модулю 4. В противном случае проигнорируйте результат локальной аутентификации и перейдите к следующему модулю.
  3. Запретить запрос аутентификации. Результат завершается как DENIED, и PAM останавливается там (действие, определенное для необходимого контроля).
  4. Разрешить все. Результат завершается как РАЗРЕШЕНО, но переходит к следующему модулю (действие, определенное для требуемого контроля). Однако для выполнения не осталось ни одного модуля, поэтому на этом все заканчивается.
понедельник
источник