Curs: | SambasobreLDAP, LinuxAdministracioAvancada |
Fitxers: | Ldap2.pdf (Ldap2.odp),
AutenticacioiAutoritzacionsLinux.pdf (AutenticacioiAutoritzacionsLinux.odp) |
Repositori SVN: | https://[email protected]/svn/iceupc/SambaSobreLDAP |
Usuari: | anonymous |
Paraula de pas: | sense paraula de pas |
Autors: | Sergi Tur Badenas |
Consulteu:
LPI_107.1._Gestió_d'usuaris_i_comptes_de_grup_i_els_fitxers_de_sistema_relacionats#Esquemes_d.27autenticaci.C3.B3
Name Service Switch (NSS) permet reemplaçar fitxers bàsics de configuració de Unix (com per exemple: /etc/passwd, /etc/group, /etc/hosts) per bases de dades centralitzades.
NSS va ser creat per Sun Microsystems per a Solaris però ha estat portat a altres sistemes operatius com Linux. A Linux normalment s'utilitza la versió de NSS creada per GNU.
Normalment no cal instal·lar cap paquet per què és un sistema que ja porten incorporat totes les distribucions Linux.
NSS s'implementa directament a la llibreria estàndard de C (libc) de forma que les crides a funcions com getent realment el que fan és cridar al mòdul de NSS que correspongui segons la configuració del fitxer /etc/nsswitch.conf.
IMPORTANT: Observeu el gran avantatge que implica aquest sistema: no cal canviar el codi forn d'un programa pel simple fet de canvia la base de dades d'usuaris o de màquines. Per exemple el sistema ha de funciona igual si s'autentica als usuaris amb fitxers locals com /etc/passwd o si es fa amb base de dades remotes com LDAP. El mateix passa amb la resol·lució de noms de màquina: podem utilitzar fitxers localsc om /etc/hosts, DNS o fins i tot NetBIOS Name Server
Aquest sistema és pot configurar mitjançant el fitxer /etc/nsswitch.conf:
$ 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. passwd: compat group: compat shadow: compat hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: nis
NSS treballa amb les següents bases de dades:
Cada línia del fitxer indica quin és l'ordre per resoldre una consulta per a una base de dades específica. Per exemple
# /etc/nsswitch.conf # # Name Service Switch configuration file. # passwd: db files nis shadow: files group: db files nis ....
Indica que les contrasenyes es buscaran primer en db, després a files i finalment a nis. Cadascun d'aquests noms és un servei de base de dades diferents. Per defecte es suporten els següents serveis:
Aquest serveis són suportats per les llibreries:
$ ls /lib/libnss* /lib/libnss_compat-2.6.1.so /lib/libnss_files-2.6.1.so /lib/libnss_mdns4_minimal.so.2 /lib/libnss_mdns_minimal.so.2 /lib/libnss_nisplus.so.2 /lib/libnss_compat.so.2 /lib/libnss_files.so.2 /lib/libnss_mdns4.so.2 /lib/libnss_mdns.so.2 /lib/libnss_nis.so.2 /lib/libnss_dns-2.6.1.so /lib/libnss_hesiod-2.6.1.so /lib/libnss_mdns6_minimal.so.2 /lib/libnss_nis-2.6.1.so /lib/libnss_dns.so.2 /lib/libnss_hesiod.so.2 /lib/libnss_mdns6.so.2 /lib/libnss_nisplus-2.6.1.so
Es poden afegir altres serveis (com per exemple ldap).
En alguns casos es poden especificar accions. Per exemple:
networks: nisplus [NOTFOUND=return] files
Les accions s'interpreten de la següent forma:
Per tant una línia com:
ethers: nisplus [NOTFOUND=return] db files
és equivalent a:
ethers: nisplus [SUCCESS=return NOTFOUND=return UNAVAIL=continue TRYAGAIN=continue]
Recursos:
La base de dades fitxers (paraula de clau files als fitxers de configuració)es la formada pels fitxers:
Per accedir a la documentació de NSS cal instal·lar
$ sudo apt-get install manpages-dev glibc-doc
Un cop instal·lat podem consultar la documentació amb la comanda info:
$ info libc "Name Service Switch"
Aquesta documentació també esta disponibles en línia:
http://www.gnu.org/software/libtool/manual/libc/Name-Service-Switch.html#Name-Service-Switch