NSSwitch
De SergiTurWiki
| Curs: | SambasobreLDAP, LinuxAdministracioAvancada |
| Fitxers: | Ldap2.pdf (Ldap2.odp),
AutenticacioiAutoritzacionsLinux.pdf (AutenticacioiAutoritzacionsLinux.odp) |
| Repositori SVN: | https://anonymous@svn.projectes.lafarga.cat/svn/iceupc/SambaSobreLDAP |
| Usuari: | anonymous |
| Paraula de pas: | sense paraula de pas |
| Autors: | Sergi Tur Badenas |
Contingut |
Esquemes d'autenticació
Consulteu:
LPI_107.1._Gestió_d'usuaris_i_comptes_de_grup_i_els_fitxers_de_sistema_relacionats#Esquemes_d.27autenticaci.C3.B3
Paquets NSS
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
Configuració
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:
- aliases: Mail aliases. Consulteu l'ordre mail.
- ethers: números Ethernet numbers,
- group: grups d'usuaris
- hosts: noms de màquina i números
- netgroup: usuaris i màquines de xarxa
- networks: noms i números de xarxes
- protocols: noms i números de protocols
- passwd: paraules de pas dels usuaris.
- rpc: noms i números de crides remotes a procediments
- services: Network services, see Services Database.
- shadow: paraules de pas shadow del usuaris
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:
- files: Fitxers guardats a la carpeta /etc del sistema
- compat: Fitxers guardats a la carpeta /etc del sistema (només password, groups i shadow) compatibles amb l'estil de signes + i -
- db:
- dns: Utilitzat per indicar que els hosts utilitzant DNS
- hesiod: hesiod.
- nis: Mapa NIS
- nisplus: Taula NIS plus
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:
- success: Sense errors i s'ha trobat el que es buscava a la base de dades. L'acció per defecte és return.
- notfound: Sense errors però no s'ha trobat el que es buscava. L'acció per defecte és continue.
- unavail: El serveis no esta disponible. L'acció per defecte és continue.
- tryagain: El servei no esta disponible temporalment. L'acció per defecte és continue.
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 local "files"
La base de dades fitxers (paraula de clau files als fitxers de configuració)es la formada pels fitxers:
- /etc/hosts
- /etc/netgroup
- /etc/networks
- etc/protocols
- /etc/rpc
- /etc/services
- automounter maps (like /etc/auto_master and /etc/auto_home)
Documentació
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
