Sim, parece estar correto (exceto que você provavelmente deveria estar usando auth
e não account
). Vamos pegar cada linha, uma por uma:
auth required pam_unix.so
Aqui, você insere a cadeia por meio de pam_unix
(autenticação de senha padrão). Este módulo é required
, o que significa que, aconteça o que acontecer, a cadeia continuará mais abaixo. No entanto, se este módulo falhar, a cadeia será marcada como com falha e o acesso do usuário provavelmente será negado eventualmente.
auth sufficient pam_succeed_if.so uid < 10000 quiet
Esta linha verifica o UID solicitado. Se o módulo for bem-sucedido (o ID do usuário estiver abaixo de 10000), a cadeia será interrompida porque o módulo é sufficient
. No entanto, isso não altera a marca definida pelo módulo required
anterior: se a autenticação do UNIX falhar, a cadeia terminará com uma falha, mesmo se pam_succeed_if
for bem-sucedido.
auth [default=bad success=ok user_unknown=ignore] pam_ldap.so
Se estivermos aqui, pam_succeed_if
deve ter falhado (porque não colocou um fim na cadeia como um módulo sufficient
). Isso significa que estamos acima do UID 10000 (que, acredito, é o limite que você definiu para usuários LDAP). O comportamento deste módulo é um pouco mais detalhado:
- Se tiver êxito, a cadeia será marcada como bem-sucedida (
ok
). Isto irá contrariar o resultado do módulo UNIX e trazer a cadeia de volta ao estado de sucesso. - Se o usuário for desconhecido para o servidor LDAP, o módulo será ignorado. O resultado da sua cadeia será o de
pam_unix
. - Em todos os outros casos (
default
), o módulo marca a cadeia como com falha (bad
), se o UNIX foi bem-sucedido ou não.
Finalmente, você tem um módulo fictício:
auth required pam_permit.so
Este módulo é bem-sucedido toda vez. É usado para definir o estado da cadeia para sucesso se nenhum módulo tiver agido antes. Nunca é seu caso embora.