Re: ldap no debian stable [longo]
Minha configuração de autenticação faz o seguinte, primeiro procura e tenta
autenticar os usuários usando os famosos "flat files", que são passwd, shadow
e group, depois usa o LDAP.
Resolvi fazer assim por motivo de segurança e estabilidade, caso o servidor
LDAP contendo os usuários e senhas caia, as máquinas dependentes dele não
ficarão jogadas ao vento.
Nota: Ao usar o pacote migrationtools, não incluí usuários com UID abaixo de
1000 e nem grupos com GID abaixo de 100 (que são os chamados usuários e
grupos de sistema) nem usuários com UID acima de 9999 e nem grupos com GID
acima de 9999.
Dessa forma, nem root nem usuários de sistema (usados para executar serviços
sob certas credenciais) serão usados no LDAP, e cada máquina poderá ter o seu
individualmente, deixando somente na base LDAP os usuários comuns.
/etc/nsswitch.conf
passwd: compat ldap
group: compat ldap
shadow: compat ldap
e outros.
Arquivos de configuração do PAM (notem a sequência).
Nota: se um módulo que tenha o comportamento "sufficient" vir primeiro e
obtiver sucesso, o sistema irá parar de processar para aquele tipo de módulo,
no nosso caso será "auth" (que verifica a identidade do usuário, ou seja,
valida a senha), mas não irá afetar os tipos account, session e password.
Exemplo:
auth sufficient pam_unix.so (em caso de sucesso, pára aqui, pam_ldap e
pam_deny não serão processados).
auth sufficient pam_ldap.so (em caso de sucesso, pára aqui, pam_deny não será
processado).
auth required pam_deny.so (em caso de falha dos dois módulos anteriores, este
será processado, e negará o acesso).
# /etc/pam.d/login
auth requisite pam_securetty.so
auth requisite pam_nologin.so
auth required pam_env.so
auth sufficient pam_unix.so
auth sufficient pam_ldap.so try_first_pass
auth required pam_deny.so
account sufficient pam_unix.so
account sufficient pam_ldap.so
account required pam_deny.so
session sufficient pam_unix.so
session sufficient pam_ldap.so
session required pam_deny.so
password required pam_cracklib.so
password sufficient pam_unix.so obscure md5 try_first_pass use_authtok
password sufficient pam_ldap.so try_first_pass use_authtok
password required pam_deny.so
Notem a presença do "sufficient" no comportamento dos módulos.
Isso quer dizer que o sistema tentará verificar/validar o usuário localmente
(pam_unix), em caso de sucesso, irá parar alí mesmo, ou seja, não tentará
verificar/validar no LDAP.
Mas em caso de falha do primeiro módulo (pam_unix), o sistema tentará
verificar/validar o usuário no LDAP, isso de forma transparente, ou seja, se
houver falha na primeira tentativa (pam_unix) ele tentará verificar/validar o
usuário no LDAP, isso ocorre de forma transparente.
Já a presença do pam_deny, é só uma questão de segurança, caso a
verificação/validação falhe tanto no pam_unix, como no pam_ldap, o sistema
negará o acesso ao usuário.
Dessa forma, caso o servidor LDAP caia, não esquente, seu sistema não ficará
inutilizado (você poderá logar como root, apenas não terá os usuários
normais).
Espero que tenha ficado claro.
Sempre combatendo a M$ e elevando o Linux...
Manoel Lôbo.
--
Kopete/GAIM: mmessiaslobo@hotmail.com
Reply to: