Os módulos `account` serão verificados se `auth` for bem-sucedido ou falhar?

Os módulos `account` serão verificados se `auth` for bem-sucedido ou falhar?

Na seguinte configuração do PAM para o arquivo/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

Se a primeira seção ( auth) for bem-sucedida, a segunda seção ( account) será chamada e verificada? E ao contrário, se autha seção falhar, será accountchamada?

Em outro cenário, para enfatizarminha principal dificuldade, se misturássemos autheaccount, tomemos o seguinte exemplo:

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

Como o PAM se comportará exatamente? Estou confuso sobre isso e será muito útil para mim se alguém puder explicar isso para mim.

Responder1

O PAM não mistura autenticação e tipo de conta, mas simempilha-os de forma independentede acordo com o tipo de gestão. O valor de retorno de uma pilha depende da ordem das opções e dos sinalizadores de controle, cf.https://docs.oracle.com/cd/E19253-01/816-4557/pam-15/index.html

O que é feito com o resultado depende um pouco da aplicação. Normalmente, um programa como login ou su valida uma conta somente após uma autenticação bem-sucedida.

informação relacionada