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

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

После успешной настройки 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 строка или до последней строки?

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

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

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

Что говорит common-auth:

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