Curs: | SambasobreLDAP, LinuxAdministracioAvancada |
Fitxers: | Ldap2.pdf,AutenticacioiAutoritzacionsLinux.pdf |
Repositori SVN: | https://[email protected]/svn/iceupc/SambaSobreLDAP |
Usuari: | anonymous |
Paraula de pas: | sense paraula de pas |
Autors: | Sergi Tur Badenas, Lluís Pérez Vidal |
Aquest paquet instal·la el mòdul de NSSwitch que permet substituir les bases de dades locals d'usuaris (fitxers shadow, groups, etc de la carpeta /etc) per una base de dades ldap amb objectes posixAccount.
IMPORTANT: Per a les noves versions d'Ubuntu i Debian tenim el següent paquet: Ldap-auth-config que ens instal·la el libpam-ldap com el libnss-ldap a la vegada
$ sudo apt-get install libnss-ldap
A Ubuntu s'intal·len el següents fitxers:
$ dpkg -L libnss-ldap /. /usr /usr/share /usr/share/libnss-ldap /usr/share/doc /usr/share/doc/libnss-ldap /usr/share/doc/libnss-ldap/NEWS.gz /usr/share/doc/libnss-ldap/AUTHORS /usr/share/doc/libnss-ldap/README.Debian /usr/share/doc/libnss-ldap/copyright /usr/share/doc/libnss-ldap/changelog.gz /usr/share/doc/libnss-ldap/examples /usr/share/doc/libnss-ldap/examples/nsswitch.ldap /usr/share/doc/libnss-ldap/examples/groups.ldif /usr/share/doc/libnss-ldap/examples/people.ldif /usr/share/doc/libnss-ldap/examples/ldap.conf.gz /usr/share/doc/libnss-ldap/buildinfo.gz /usr/share/doc/libnss-ldap/README.gz /usr/share/doc/libnss-ldap/changelog.Debian.gz /usr/share/doc/libnss-ldap/LDAP-Permissions.txt.gz /usr/share/man /usr/share/man/man5 /usr/share/man/man5/nss_ldap.5.gz /usr/lib /lib /lib/libnss_ldap-2.6.1.so /usr/lib/libnss_ldap.so /lib/libnss_ldap.so.2
Cal tenir en compte que durant la instal·lació del paquet:
$ sudo apt-get install libnss-ldap ... S'instal·laran els següents paquets extres: auth-client-config ldap-auth-client ldap-auth-config libpam-ldap
S'instal·len dependències. El paquet ldap-auth-config és el que te els fitxers de configuració:
$ dpkg -L ldap-auth-config | grep etc /etc /etc/auth-client-config /etc/auth-client-config/profile.d /etc/auth-client-config/profile.d/ldap-auth-config /etc/ldap.conf
Les preguntes durant la instal·lació són:
Després d'haver instal·lat libnss-ldap cal modificar el fitxer
/etc/nsswitch.conf
Per quelcom similar a
$ cat /etc/nsswitch.conf ... passwd: files ldap group: files ldap shadow: files ldap ...
Amb Ubuntu es pot fer aquesta configuració executant:
$ sudo auth-client-config -a -p lac_ldap
I el fitxer queda:
$ cat /etc/nsswitch.conf # /etc/nsswitch.conf # # Example configuration of GNU Name Service Switch functionality. # If you have the `glibc-doc-reference' and `info' packages installed, try: # `info libc "Name Service Switch"' for information about this file. # pre_auth-client-config # passwd: compat passwd: files ldap # pre_auth-client-config # group: compat group: files ldap # pre_auth-client-config # shadow: compat shadow: files ldap hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: nis
A partir de certes versions d'Ubuntu aquest és el paquet que configura libnss-ldap (i també libpam-ldap):
$ dpkg -L ldap-auth-config /. /usr /usr/share /usr/share/ldap-auth-config /usr/share/ldap-auth-config/ldap.conf /usr/share/doc /usr/share/doc/ldap-auth-config /usr/share/doc/ldap-auth-config/copyright /usr/share/doc/ldap-auth-config/changelog.gz /etc /etc/auth-client-config /etc/auth-client-config/profile.d /etc/auth-client-config/profile.d/ldap-auth-config /etc/ldap.conf
El fitxer de configuració és:
/etc/libnss-ldap.conf
Hi ha una mica de confusió entre els fitxers de configuració de libnss-ldap i libpam-ldap. En alguns casos es parla d'ells indistintament (són molt similars).
IMPORTANT: A partir de certes versions d'Ubuntu el fitxer per a libnss-ldap i lipam-ldap són el mateix /etc/ldap.conf. Vegeu ldap-auth-config
Aquest paquet (només Ubuntu) permet configurar l'autenticació de client:
Comandes:
$ dpkg -L auth-client-config | grep bin /usr/sbin /usr/sbin/auth-client-config
Fitxers de configuració:
$ dpkg -L auth-client-config | grep etc $ /etc $ /etc/auth-client-config $ /etc/auth-client-config/profile.d $ /etc/auth-client-config/profile.d/acc-default
Per utilitzar aquesta comanda hem d'executar:
$ sudo auth-client-config -a -p lac_ldap
Recursos:
És un Dummy paquet o un metapaquet que té com a dependències:
$ sudo apt-cache show ldap-auth-client | grep depends Depends: libpam-ldap, libnss-ldap $ dpkg -L ldap-auth-client /. /usr /usr/share /usr/share/doc /usr/share/doc/ldap-auth-client /usr/share/doc/ldap-auth-client/copyright /usr/share/doc/ldap-auth-client/changelog.gz
Per defecte libnss-ldap està configurat per fer un bind hard al servidor Ldap. Això vol dir que intentarà connectar-se al servidor quasi continuament tot i que aquest no estigui funcionant. Això pot provocar que una màquina no entri al sistema si el servidor Ldap cau.
Es pot modificar aquest comportament modificant el fitxer /etc/ldap.conf ( abans /etc/libnss-ldap.conf ):
$ sudo joe /etc/ldap.conf
Localitzeu la línia comentada:
#bind_policy hard
I la canvieu per:
bind_policy soft nss_reconnect_tries 1 nss_reconnect_sleeptime 1 nss_reconnect_maxsleeptime 8 nss_reconnect_maxconntries 2
Per defecte soft intenta la connexió un cop i si falla ja no ho intenta més. A la configuració fem algun intent més en cas que el servidor Ldap estigui saturat.
Modificar al fitxer /etc/ldap.conf
bind_policy=hard
per
bind_policy=soft
Consulteu #Màxim número d'intents de connexió al servidor Ldap
El problema és que no existeix el grup nvram. El fitxer:
/etc/udev/rules.d/40-permissions.rules
Utilitza aquest grup a l'arrancada del sistema:
... KERNEL=="nvram", GROUP="nvram" ...
Quant udev s'inicia busca aquest grup i com que no el troba a /etc/group l'ha de buscar al servidor ldap.
Per fixar el problema es pot afegir en local el grup nvram
$ sudo addgroup nvram
L'altre opció (no elimina l'error però no penja el sistema durant l'arrancada) és utilitzar el paràmetre:
bind_policy=soft
Recursos:
Si al fer:
$ sudo getn passwd | wc -l
Es mostren només los usuaris locals + 500 remots, aleshores:
Cal canviar el paràmetre del servidor sizelimit (o amb la nova configuració: olcsizelimit).. L'he canviat accedint amb l'usuauri cn=admi,cn=config al servidor i modificant el attribute sizelimit a
DN: olcDatabase={-1}frontend,cn=config