Seu problema é que você não ajustou a pilha PAM adequadamente, especificamente as contagens "skip" nas linhas usando a notação de colchetes. Se você não está familiarizado com essa notação, o RTFM pam.conf (5) , que também lista os equivalentes de notação de colchetes de "required", suficiente ", etc.
A seção de autenticação padrão do RHEL 7 com o sssd configurado é assim:
auth required pam_env.so
auth [default=1 success=ok] pam_localuser.so
auth [success=done ignore=ignore default=die] pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid >= 1000 quiet_success
auth sufficient pam_sss.so forward_pass
auth required pam_deny.so
A linha pam_localuser
diz que a ação padrão é pular um módulo ( pam_unix
neste caso), mas em caso de sucesso (ou seja, o usuário é local), prossiga normalmente. Isso é feito para que os usuários de domínio (não locais) não gerem uma tentativa de login com falha com pam_unix
, mas passem diretamente para sssd ( pam_sss
, com uma verificação de uid > = 1000 de antemão).
Observe também a configuração default = die em pam_unix
, o que significa que um login local com falha irá abortar a pilha de autenticação ali mesmo (e nem mesmo tentar pam_sss
). Da mesma forma, success = done faz o mesmo para logins bem-sucedidos.
Como já foi mencionado, pam_faillock
não se aplica a usuários de domínio, mas se você estiver usando para contas locais e inserindo três chamadas em torno de pam_unix
, será necessário alterar o pam_localuser
linha para default = 4 , para que os logins de domínio continuem a funcionar. (Com o padrão = 1, ele ignorará pam_faillock
, mas continuará com pam_unix
, o que obviamente falhará nas contas de domínio e, por padrão, morrerá imediatamente. A definição padrão = 4 irá pular para pam_succeed_if
, já que anteriormente fez.)
Eu não estou familiarizado com pam_faillock
, então não posso dizer se chamar novamente depois de pam_unix
ser apropriado, mas se isso estiver correto, você também precisará fazer algo sobre o sucesso = concluído e padrão = morrer em pam_unix
, senão nunca chegará a pam_faillock
para bloquear / desbloquear contas.
Esta é uma pilha complexa de PAM; você pode consultar as configurações de exemplo em pam_faillock (8) . Certifique-se de não deixar todo mundo acidentalmente entrar (esperançosamente, o pam_deny
no final cuida disso), e certifique-se de ajustar qualquer contagem padrão = N ao adicionar ou remover linhas subseqüentes.
TL; DR: [default=1]
significa saltar uma linha depois ( pam_unix
neste caso). Adicionar linhas requer o ajuste da contagem.