Integrando Samba com Ldap - HOWTO
Instalando os pacotes
Primeiramente precisamos instalar os pacotes do samba.
root@debian:~# aptitude install samba samba-doc smbclient smbfs Grupo de Trabalho: dominio Usar senhas criptografadas ? <Sim> Modificar smb.conf para usar configurações WINS fornecidas via DHCP ? <Não> Como você deseja que o Samba seja executado ? daemons Gerar a base de dados para senhas /var/lib/samba/passdb.tdb ? <Não>
Ajustes no ldap
Antes, precisamos obter o schema do samba para o LDAP.
root@debian:~# cd /usr/share/doc/samba-doc/examples/LDAP root@debian:/usr/share/doc/samba-doc/examples/LDAP# cp samba.schema.gz /etc/ldap/schema/ root@debian:/usr/share/doc/samba-doc/examples/LDAP# cd /etc/ldap/schema root@debian:/etc/ldap/schema# gunzip samba.schema.gz
Precisamos realizar tambem alguns ajustes no servidor LDAP.
root@debian:~# vi /etc/ldap/slapd.conf [...] include /etc/openldap/schema/samba.schema [...] # Indices to maintain for this database index objectClass eq,pres index sambaSID eq index sambaPrimaryGroupSID eq index sambaDomainName eq index ou,cn,mail,surname,givenname eq,pres,sub index uidNumber,gidNumber,loginShell eq,pres index uid,memberUid eq,pres,sub [...] access to attrs=userPassword,shadowLastChange,sambaLmPassword,sambaNtPassword by dn="cn=admin,dc=dominio,dc=com,dc=br" write by anonymous auth by self write by * none
Não esqueça de reiniciar o serviço LDAP.
root@debian:~# /etc/init.d/slapd stop root@debian:~# /etc/init.d/slapd start
Configurando o samba
Em seguida, iremos configurar o samba.
root@debian:~# vi /etc/samba/smb.conf
Obs.: Um modelo de completo desta configuraçção pode ser obtido em: http://downloads.fabriciovc.eti.br/samba/smb.conf-ldap.
Em seguida, configure a senha que será utilizada pelo samba para acessar a base LDAP.
root@debian:~# smbpasswd -w <senha>
E por fim, reinicie o serviço samba.
root@debian:~# /etc/init.d/samba stop root@debian:~# /etc/init.d/samba start
Para ter certeza que a configuração está correta, verifique no LDAP se foi criado o domínio do samba.
root@debian:~# ldapsearch -x sambaDomainName=* # extended LDIF # # LDAPv3 # base <> with scope subtree # filter: sambaDomainName=* # requesting: ALL # # DOMINIO, dominio.com.br dn: sambaDomainName=DOMINIO,dc=dominio,dc=com,dc=br sambaDomainName: ATUALTEC sambaSID: S-1-5-21-953954491-783896346-2969143244 sambaAlgorithmicRidBase: 1000 objectClass: sambaDomain sambaNextUserRid: 1000 sambaMinPwdLength: 5 sambaPwdHistoryLength: 0 sambaLogonToChgPwd: 0 sambaMaxPwdAge: -1 sambaMinPwdAge: 0 sambaLockoutDuration: 30 sambaLockoutObservationWindow: 30 sambaLockoutThreshold: 0 sambaForceLogoff: -1 sambaRefuseMachinePwdChange: 0 # search result search: 2 result: 0 Success # numResponses: 2 # numEntries: 1
Ajustando a estrutura
Aqui precisamos criar alguns diretório e ajustar algumas permissões.
root@debian:~# mkdir -p /srv/samba/netlogon root@debian:~# mkdir -p /srv/samba/profiles root@debian:~# mkdir -p /srv/dados/publica root@debian:~# chmod 777 /srv/samba/profiles/