Будут ли проверяться модули `account` в случае успешной или неудачной `auth`?

Будут ли проверяться модули `account` в случае успешной или неудачной `auth`?

В следующей конфигурации 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

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

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

Связанный контент