В следующей конфигурации PAM для файла /etc/pam.d/system-auth

auth        required      pam_env.so
auth        sufficient    pam_unix.so nullok try_first_pass
auth        requisite     pam_succeed_if.so uid >= 500 quiet
auth        required      pam_deny.so

account     required      pam_unix.so
account     sufficient    pam_localuser.so
account     sufficient    pam_succeed_if.so uid < 500 quiet
account     required      pam_permit.so

Если первый раздел (auth) завершился успешно, будет ли вызван и проверен второй раздел (account)? И наоборот, если раздел auth не пройден , будет ли вызван account ?

В другом сценарии, чтобы подчеркнуть мою главную трудность, если мы смешали auth и account, давайте возьмем следующий пример:

auth        sufficient    pam_unix.so nullok try_first_pass
account     required      pam_unix.so

auth        requisite     pam_succeed_if.so uid >= 500 quiet
account     sufficient    pam_succeed_if.so uid < 500 quiet

Как PAM будет вести себя точно? Я запутался в этом, и мне будет очень полезно, если какое-то тело сможет объяснить это мне.

1 ответ1

2

PAM не смешивает аутентификацию и тип учетной записи, а складывает их независимо друг от друга в соответствии с типом управления. Возвращаемое значение стека зависит от порядка опций и контрольных флагов, ср. https://docs.oracle.com/cd/E19253-01/816-4557/pam-15/index.html

То, что сделано с результатом, немного зависит от приложения. Обычно такая программа, как login или su, проверяет учетную запись только после успешной аутентификации.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .