Samba 3+OpenLDAP

Darrerament per la feina anam una mica neures per un tema de canvi de plataforma de gestió i de canvi de servidors. Damunt tot això s’afegeix la instal·lació d’un nou SGDB (Oracle 10g); i per no perdre el ritme, estic canviat una mica la configuració del sistema d’autenticació dels serveis passant’ho tot a OpenLDAP. Pues bé uns dels serveis que estaven una mica “a l’aire” a nivell d’autentificació com és el cas del servidor Samba.

Hi ha diverses maneres de fer que els usuaris s’autentifiquin amb el Samba: a travers dels moduls PAM (Pluggable Authentication Modules for Linux), o bé amb la base de dades pròpia del Samba la SAM. Però també hi ha altres sistemes d’autentificació adaptables al Samba com per exemple és el LDAP.

Configuració del Samba

/etc/samba/smb.conf

Apart de la configuració que ve per defècte, per poder dir que el Samba utilitzi l’LDAP l’hi tendriem que definir el tipus de base de dades a utilitzar:

passdb backend = ldapsam:ldap://servidorldap.pancuit.com

A partir d’aqui, vendria la configuració de l’LDAP dins el smb.conf

ldap suffix = dc=pancuit,dc=com
ldap user suffix = ou=People
ldap group suffix = ou=Group
ldap machine suffix = ou=Computers
ldap idmap suffix = ou=Idmap

Aqui podem observar una serie de paràmetres necessàris per que el Samba pugui saber a on estan les coses
com per exemple el domini de l’arrel del LDAP, la OU (Unitat Organitzativa) aqui on hi haurà els usuaris People, o els grups Group. La OU de Computers és aqui on s’haniran posant les màquines que s’autentifiquin, això ve donat perque el sistema d’autentificació també contempla les màquines com si fosin usuaris (això és per els clients de Microsoft).

Per que el Samba pugui donar d’alta automàticament (els PCs com a usuaris) i tengui drets de modificació de l’LDAP, l’hi hem de dir quin serà l’usuari d’administració de l’LDAP.

ldap admin dn = uid=samba_admin, ou=People, dc=pancuit, dc=com

Una vegada configurats aquests paràmetres dins el fitxer /etc/samba/smb.conf, estaría bé definir com es gestionarà
la creació d’usuaris, màquines (PCs), grups, etc … A travers del Samba, en aquest cas utilitzam un paquet el smbldap-tools, instal·lable amb l’apt-get. El qual ens permet fer operacions damunt l’arbre de LDAP, crear usuaris de Samba definit els paràmetres necessàris pel Samba com els seus passwords (SambaLMpassword o el SambaNTpassword), per que dins el LDAP el password de Unix no és el mateix que el Samba a més son dos camps totalment separats, com per exemple podem veure en aquest exemple: (executant la comanda smbldap-usershow)

[root@dbserver samba]# smbldap-usershow tomeu

dn: uid=tomeu,ou=Sistemes,ou=Oficina Central,ou=People,dc=almarsa,dc=es
cn: Tomeu Capo
homeDirectory: /home/tomeu
uidNumber: 500
objectClass: phpgwAccount,posixAccount,shadowAccount,top,organizationalPerson,inetOrgPerson,sambaSamAccount
...
sambaAcctFlags: [HXU]
sambaSID: S-0-0-00-0000
sambaDomainName: DOMINISAMBA
sambaNTPassword: XXXXXXXXXXXXXXXXXXXXXXXXXXX
sambaLMPassword: XXXXXXXXXXXXXXXXXXXXXXXXXXX
userPassword: {CRYPT}*********************

També ens faltarà crear els grups i l’usuari que serà l’administrador del Samba amb permisos per poder afegir una màquina nova al domini, o com
també crear el domini en el qual el treballarà, això és necessàri per que quan es crea un usuari de Samba dins el LDAP s’ha d’assignar de quin domini és.
Tot això és crea dins el LDAP mitjançant la utilitat smbldap-populate.

Aquestes eines necessiten configurar-se, per això existeixen dos fitxers de configuració al directori /etc/smbldap-tools. El smbldap.conf i el smbldap_bind.conf, aquest darrer contè l’usuari d’administració del LDAP

slaveDN="cn=admin,dc=pancuit,dc=com"
slavePw="aixonosequees"
masterDN="cn=admin,dc=pancuit,dc=com"
masterPw="aixonosequees"

El fitxer smbldap_bind.conf te els permisos de lectura/escritura per root i per ningú més.

# chmod 600 smbldap_bind.conf

Ara fa falta definir dins el Samba les crides als scripts del smbldap-tools.

add user script = /usr/sbin/smbldap-useradd -m "%u"
add machine script = /usr/sbin/smbldap-useradd -w "%u"
add group script = /usr/local/smbldap-groupadd -p "%g"
add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g"
delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g"
set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u"

Configuració del servidor OpenLDAP

Al servidor de LDAP és necessàri fer una serie d’ajusts per poder ubicar-hi els usuaris samba dins ell, paràmetres molt simples. Com per exemple la inclusió del schema del Samba 3.0. El fitxer de configuració que tocarem serà el
del servidor el /etc/ldap/slapd.conf.

include         /etc/ldap/schema/samba.schema

Si no tenim aquest fitxer serà necessàri baixar-lo, també es pot trobar dins el directori /usr/share/doc/samba-doc/examples/LDAP/. L’altre petita modificació és la de que l’usuari samba_admin pugui accedir a l’arbre del LDAP per inserir usuaris nous i màquines.

index           sambaSID,sambaPrimaryGroupSID,sambaDomainName   eq

access to attrs=userPassword
by dn="cn=admin,dc=pancuit,dc=com" write
by self write
by * read

access to attrs=userPassword,sambaNTPassword,sambaLMPassword,sambaPwdLastSet,sambaPwdMustChange
by dn="uid=samba_admin,ou=People,dc=pancuit,dc=com" write
by self write
by anonymous auth
by * none

access to attrs=cn,sambaLMPassword,sambaNTPassword,sambaPwdLastSet,sambaLogonTime,sambaLogoffTime,sambaKickoffTime,sambaPwdCanChange
by dn="uid=samba_admin,ou=People,dc=pancuit,dc=com" write
by self read
by * none

access to dn="ou=Computers,dc=pancuit,dc=com"
by dn="uid=samba_admin,ou=People,dc=pancuit,dc=com" write
by * none

L’unic que ens queda és crear l’usuari samba_admin, per que el Samba pugui fer operacions damunt l’LDAP.

This entry was posted in Programàri Lliure. Bookmark the permalink.

3 Responses to Samba 3+OpenLDAP

  1. guillem says:

    Interessant, el contingut. Però quan tenguis temps t’has de posar un estil que no tengui amplada fixa ;-)

  2. Joan Miquel says:

    Hola Tomeu, t’escric des d’Eivissa. A veure si ens veim aquest cap de setmana a ses matances. Au, fins a la pròxima.

  3. Guillem says:

    Puta quepene, mem si actulitzes més això! Ja pareixes es Pichón!

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>