alexmontoanelli

a place to have some fun..

Autenticação centralizada com Ldap, usando Postfix, Dovecot e Samba: Parte2

Essa é a segunda parte desta série.
A primeira etapa você confere aqui.

Hoje vamos configurar a libnss e o nsswitch.conf, para que o sistema possa ver os usuários cadastrados na base ldap.

Antes vamos criar o seguinte arquivo ldif,  inserindo alguns usuarios e grupos na nossa base:

dn: ou=usuarios,dc=empresa,dc=com,dc=br
objectClass: organizationalUnit
objectClass: top
ou: usuarios

dn: ou=grupos,dc=empresa,dc=com,dc=br
objectClass: organizationalUnit
objectClass: top
ou: grupos

dn: ou=machines,ou=usuarios,dc=empresa,dc=com,dc=br
objectClass: organizationalUnit
ou: machines

dn: cn=meugrupo,ou=grupos,dc=empresa,dc=com,dc=br
objectClass: posixGroup
objectClass: top
gidNumber: 10000
cn: meugrupo

dn: uid=meuusuario,ou=usuarios,dc=empresa,dc=com,dc=br
objectClass: shadowAccount
objectClass: posixAccount
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person
homeDirectory: /home/meuusuario
loginShell: /bin/false
uid: meuusuario
cn: meuusuario
uidNumber: 10000
sn: meuusuario
gidNumber: 10000
givenName: Meu Usuario

Após criar os usuários, insira eles na base com o seguinte comanda:

slapadd -l meuarquivo.ldif # para usar com a base em modo off-line, ou
cat meuarquivo.ldif | ldapadd -W -D "cn=Manager,dc=empresa,dc=com,dc=br"

Agora vamos instalar o nss_ldap, no freebsd, execute o seguinte comando:

cd /usr/ports/net/nss_ldap/
make install

Vamos editar o arquivo /usr/local/etc/nss_ldap.conf para que fique da seguinte forma:

host 127.0.0.1
base dc=empresa,dc=com,dc=br
ldap_version 3
rootbinddn cn=Manager,dc=empresa,dc=com,dc=br
port 389
scope sub
timelimit 30
bind_timelimit 30
bind_policy hard
nss_connect_policy persist
nss_paged_results yes
pagesize 1000
pam_login_attribute uid
pam_lookup_policy yes
nss_base_passwd         ou=usuarios,dc=empresa,dc=com,dc=br?sub
nss_base_shadow         ou=usuarios,dc=empresa,dc=com,dc=br?sub
nss_base_group          ou=grupos,dc=empresa,dc=com,dc=br?one

Criamos o arquivo /etc/ldap.secret, contendo a senha do Manager

echo "mInhaSenh@Secr37A" > /etc/ldap.secret
chmod 600 /etc/ldap.secret

Agora modificamos o /etc/nsswitch.conf para que fique assim:

group: files ldap
hosts: files dns
networks: files
passwd: files ldap
shells: files

Para testar se tudo deu certo, digite:

getent passwd # você verá os usuarios do sistema, a ultima linha estara listado o seu usuario
getent groups # você verá os grupos do sistema, a última linha estará listado o grupo criado

Bom é isso, por hoje é só pessoAll, até a próxima parte.

Abraços

August 17th, 2008 by alexm