IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

Alert.png Aquesta wiki forma part dels materials d'un curs
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

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:

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

Vegeu també

Enllaços externs