Confuso sobre a sub-rotina de configuração do PAM e as funções dos parâmetros flag-control

5

Eu comecei a estudar para o RHCE. Enquanto no tópico da configuração do PAM, fiquei um pouco perplexo com esta sub-rotina de /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

De acordo com a documentação do PAM , sufficient significa que deixaria de processar o restante da pilha. Se for esse o caso, a terceira linha nunca verificará o UID do usuário logado.

Estou interpretando isso corretamente ou estou entendendo mal alguma coisa?

    
por Belmin Fernandez 05.09.2011 / 22:07

1 resposta

2

A indicação sufficient no campo de controle significa que se pam_unix relata um sucesso , então esta pilha retorna um sucesso imediatamente. Se pam_unix falhar (por exemplo, porque o usuário não tem uma senha ou não existe), a pilha prossegue com pam_succeed_if . Essa linha, por sua vez, rejeita imediatamente qualquer login de usuários com UID < 500. Finalmente, os usuários com UID ≥ 500 que falharam na autenticação no método unix tradicional são negados por essa pilha, mas podem ser autorizados por uma pilha de chamadas (por exemplo, por .rhosts se a configuração rshd chamar essa pilha). Em outras palavras:

if unix authentication ok then success
else if uid < 500 then fail hard
else fail (but allow caller to proceed)

Métodos de autenticação baseados em rede, como NIS e LDAP, normalmente seriam adicionados como sufficient linhas antes da linha pam_deny . Isso permitiria contas de rede somente quando o UID estiver acima de 500 e dando prioridade à autenticação local. Desta forma, o servidor NIS ou LDAP não pode fornecer qualquer usuário do sistema, apenas usuários “reais” (convencionalmente, UIDs baixos são usuários do sistema); Além disso, se a rede estiver inativa, os usuários com uma conta local ainda poderão fazer login.

    
por 06.09.2011 / 01:49