11.07.2015 Views

Amministrare GNU/Linux - Cia

Amministrare GNU/Linux - Cia

Amministrare GNU/Linux - Cia

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

108 CAPITOLO 3. LA CONFIGURAZIONE DEI SERVIZI DI BASEIl default di ldconfig prevede l’uso di questo file, ma usando l’opzione -f si può specificareun qualunque altro file al suo posto, mentre con -n si può passare direttamente sulla linea dicomando una lista di directory dove effettuare la ricerca. Per le altre opzioni e la documentazionecompleta si consulti al solito la pagina di manuale disponibile con man ldconfig.Infine, nei casi in cui si vogliano utilizzare solo in forma temporanea delle librerie condivise,si può ricorrere alla variabile di ambiente LD_LIBRARY_PATH, in cui passare una lista 8 diulteriori directory in cui verrà effettuata la ricerca di altre librerie (questa volta senza usarel’indicizzazione, per cui il sistema è più lento).In genere si usa questa variabile quando si sviluppano delle librerie o se si vuole usare qualchepacchetto sperimentale oppure una versione alternativa delle librerie di sistema. Infatti le libreriecontenute nelle directory specificate tramite LD_LIBRARY_PATH hanno la precedenza e vengonoutilizzate per prime; in questo modo si può far uso di una libreria sperimentale senza conseguenzeper gli altri programmi 9 del sistema che continueranno ad usare la versione abituale.3.1.3 Il Name Service SwitchUna delle tante funzionalità provviste dalle librerie standard del sistema è fornire una serie difunzioni che permettono ai programmi di ottenere alcune informazioni relative alla gestione delsistema, come i nomi degli utenti, le loro password, i nomi dei gruppi, delle macchine ecc.Tradizionalmente, con l’eccezione per i nomi delle macchine che possono essere forniti ancheattraverso l’uso del DNS, queste informazioni sono memorizzate in opportuni file di configurazionemantenuti sotto /etc. 10 I sistemi moderni però permettono di mantenere queste informazionianche in maniera diversa, e di centralizzarle per interi gruppi di macchine tramite opportuniservizi. 11Con l’introduzione di queste estensioni si presentava però il problema di come indicare allevarie funzioni di libreria dove prendere le informazioni; all’inizio questo veniva fatto introducendotutta la casistica possibile nell’implementazione delle funzioni stesse, con degli ovvi problemi diestendibilità e compatibilità. Per risolvere il problema venne creata una apposita interfaccia, ilName Service Switch, 12 che permettesse di demandare a delle librerie esterne, configurabili inmaniera indipendente, le modalità con cui queste informazioni vengono ottenute.Il grande vantaggio del Name Service Switch è che diventa possibile definire in manieramodulare ed estendibile sia delle classi di informazioni (cosicché qualora si debba fornire qualchenuovo servizio si ha l’infrastruttura già pronta) che il supporto (file, database o servizi di rete)su cui queste informazioni sono mantenute; è possibile inoltre specificare al sistema anche inquale ordine utilizzare le varie fonti, permettendo configurazioni ibride.Le modalità di funzionamento del Name Service Switch vengono gestite attraverso il suo filedi configurazione che è /etc/nsswitch.conf/etc/nsswitch.conf; un esempio di questo file,come installato su una Debian Sid, è il seguente:# /etc/nsswitch.conf## Example configuration of <strong>GNU</strong> Name Service Switch functionality.# If you have the ’glibc-doc’ and ’info’ packages installed, try:# info libc "Name Service Switch" for information about this file.8 nella stessa forma usata per PATH, cioè con le directory separate da dei “:”.9 o per l’intero sistema, dato che se si usasse una versione non funzionante di una libreria fondamentale comela glibc, smetterebbero di funzionare praticamente tutti i programmi.10 ne tratteremo alcuni in seguito, ad esempio quelli relativi alla gestione di utenti e gruppi in sez. 4.3 e quellirelativi alla rete in sez. 7.6.11 gli esempi più comuni sono il NIS (Network Information Service ed LDAP (Lightweight Directory AccessProtocol) due servizi di rete con cui si possono centralizzare le informazioni relative agli utenti.12 il sistema è stato introdotto la prima volta nelle librerie standard di Solaris, le librerie standard <strong>GNU</strong> hannoripreso lo stesso schema.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!