Web Analytics Made Easy - Statcounter


https://www.amazon.it/dp/B0CT9YL557

We support WINRAR [What is this] - [Download .exe file(s) for Windows]

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Audiobooks by Valerio Di Stefano: Single Download - Complete Download [TAR] [WIM] [ZIP] [RAR] - Alphabetical Download  [TAR] [WIM] [ZIP] [RAR] - Download Instructions

Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
a2 --- Moduli PAM

[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [violazione licenza] [translators] [docinfo] [indice analitico] [volume] [parte]


Capitolo 70.   Moduli PAM

Secondo la tradizione dei sistemi Unix, l'identificazione di un utente avviene attraverso una parola d'ordine, annotata in modo cifrato nel file /etc/passwd, oppure nel file /etc/shadow se è attiva la gestione delle parole d'ordine oscurate. L'introduzione delle parole d'ordine oscurate ha aggiunto la possibilità di maggiori controlli sull'utenza, in particolare definendo dei tempi di validità per le parole d'ordine e per le utenze stesse.

Tuttavia, il sistema delle parole d'ordine oscurate rimane ancorato alla gestione di parole d'ordine, mentre i metodi di identificazione potrebbero essere differenti. L'esigenza di definire una struttura generalizzata per la gestione dei metodi di autenticazione ha portato alla realizzazione del sistema PAM (Pluggable authentication modules), con il quale, attraverso le librerie PAM è possibile definire e configurare la politica di accesso in base al contesto.

Per mettere in pratica questo sistema, i programmi che in qualche modo si occupano di mettere a disposizione un servizio di autenticazione devono essere predisposti per l'utilizzo di queste librerie. In generale, un sistema Unix in cui è attivata la gestione PAM, configurato in modo standard, si comporta esattamente come un sistema che ne è sprovvisto. In altri termini, la configurazione standard del sistema PAM è quella che ricalca la tradizione dei sistemi Unix.

In questo capitolo si fa riferimento alla realizzazione del sistema PAM per GNU/Linux, ovvero Linux-PAM. (1)

70.1   File di configurazione e moduli

L'aspetto più importante del sistema PAM è la modularità, costituita da diversi file di libreria, competenti ognuno per un tipo differente di servizio di autenticazione. Quando si gestisce il sistema PAM, questi file sono indispensabili al funzionamento del sistema, pertanto non possono essere collocati al di sotto della directory /usr/.(2) La collocazione normale di questi file è così la directory /lib/security. A titolo di esempio, nella directory si potrebbero vedere i file seguenti:

pam_access.so   pam_ldap.so       pam_rhosts_auth.so  pam_unix_acct.so
pam_deny.so     pam_limits.so     pam_rootok.so       pam_unix_auth.so
pam_env.so      pam_listfile.so   pam_securetty.so    pam_unix_passwd.so
pam_filter.so   pam_mail.so       pam_shells.so       pam_unix_session.so
pam_ftp.so      pam_mkhomedir.so  pam_stress.so       pam_userdb.so
pam_group.so    pam_motd.so       pam_tally.so        pam_warn.so
pam_issue.so    pam_nologin.so    pam_time.so         pam_wheel.so
pam_lastlog.so  pam_permit.so     pam_unix.so

Inizialmente, la configurazione del sistema PAM dipendeva dal file /etc/pam.conf. Attualmente la configurazione è suddivisa in più file, contenuti nella directory /etc/pam.d/ e il file /etc/pam.conf rimane vuoto o commentato completamente. In tal modo, ogni servizio di autenticazione ha un proprio file nella directory /etc/pam.d/, facilitando anche la gestione dei pacchetti di applicazioni, che non devono condividere la configurazione in un solo file.

I file di configurazione contenuti nella directory /etc/pam.d/ sono file di testo normali, in cui le righe vuote e quelle bianche sono ignorate, così come sono ignorate quelle che iniziano con il simbolo #. Per il resto, si tratta di record con la struttura seguente:

tipo livello_di_controllo modulo_pam [opzioni_del_modulo]

Il listato 70.2 rappresenta l'esempio di come potrebbe apparire il file /etc/pam.d/login, che serve a configurare il servizio di autenticazione attraverso il programma login.

Listato 70.2. Esempio del file /etc/pam.d/login.

auth       requisite  pam_securetty.so
auth       required   pam_nologin.so
auth       required   pam_env.so
auth       required   pam_unix.so nullok
account    required   pam_unix.so
session    required   pam_unix.so
session    optional   pam_lastlog.so
session    optional   pam_motd.so
session    optional   pam_mail.so standard noenv
password   required   pam_unix.so nullok obscure min=4 max=8

Il primo campo serve a definire il tipo di contesto a cui si fa riferimento, attraverso alcune parole chiave ben definite, descritto nell'elenco successivo.

Parola chiave Descrizione
auth Rappresenta un contesto di autenticazione, nell'ambito del quale si deve verificare l'identità l'utente e che non siano stabilite delle limitazioni riferite alla sua identità.
account Fa riferimento allo stato dell'utenza, che può risultare attiva, scaduta, inattiva o disabilitata, solitamente secondo le informazioni provenienti dal file /etc/shadow.
password Fa riferimento alla parola d'ordine, pertanto ha senso solo quando il tipo di autenticazione ne prevede l'uso. In questo contesto, a titolo di esempio, è possibile fare riferimento a un controllo sulla sua validità, secondo quanto contenuto nel file /etc/shadow, così come è possibile richiedere una verifica sul rispetto di alcune regole elementari per una buona parola d'ordine.
session Questo contesto permette di definire delle azioni da compiere nel momento dell'accesso, oppure al momento della sua conclusione. Osservando l'esempio che è stato proposto, si può intendere intuitivamente la richiesta di informare l'utente sull'ultimo accesso, di mostrare il messaggio del giorno e di informare sulla presenza di messaggi di posta elettronica.

Ogni modulo PAM può essere visto come una funzione che restituisce un valore. Sono possibili tre casi: SUCCESS, corrispondente a una verifica completata come richiesto, FAILURE, corrispondente a una verifica fallita, IGNORE, corrispondente a un risultato indefinibile. Il secondo campo consente di definire come deve essere preso in considerazione l'esito della verifica fatta dal modulo corrispondente. Anche in questo caso si usa una parola chiave, come descritto nel prossimo elenco.

Parola chiave Descrizione
required Rappresenta un controllo indispensabile, attraverso il quale si pretende di ottenere un risultato SUCCESS, o al limite IGNORE. Infatti, un risultato FAILURE si tradurrebbe in una mancata autenticazione, indipendentemente dall'esito degli altri controlli. Tuttavia, l'insuccesso nell'autenticazione non conclude immediatamente la procedura, in modo da non consentire all'utente di comprendere dove si sia verificato il problema.
requisite Rappresenta un controllo indispensabile, attraverso il quale si pretende di ottenere un risultato SUCCESS, o al limite IGNORE. Infatti, un risultato FAILURE si tradurrebbe in una mancata autenticazione, indipendentemente dall'esito degli altri controlli. L'insuccesso fa concludere immediatamente la procedura di autenticazione.
sufficient Rappresenta un controllo sufficiente. In pratica, se prima di questo controllo non si sono verificati problemi, un esito SUCCESS conclude la procedura con un'autenticazione corretta. Al contrario, un esito FAILURE viene trattato come equivalente a un risultato indeterminato.
optional Rappresenta un controllo opzionale, nel quale un esito FAILURE viene trattato come un risultato indeterminato.
In generale, un risultato indeterminato non annulla l'autenticazione; tuttavia, quando tutte le verifiche generano un risultato indeterminato, non si può concedere l'accesso. In questo senso, un tipo di verifica opzionale può servire per ottenere un controllo che consenta l'accesso in mancanza di altri esiti determinati.

I record di questi file di configurazione vengono analizzati nell'ordine in cui appaiono.

Il terzo campo rappresenta il nome del modulo, ovvero il file. Questo nome può essere completo di percorso assoluto, oppure può essere indicato senza tale informazione, se la sua collocazione è quella predefinita. Il quarto campo è costituito dalle opzioni da passare al modulo, separate tra loro da uno o più spazi.

Tra i vari file di configurazione è importante definirne uno denominato other, che viene utilizzato quando per quel particolare servizio di autenticazione non ne è stato previsto uno specifico. L'esempio che si vede nel listato 70.5 rappresenta il contenuto di questo file quando si vuole garantire un sistema minimo di autenticazione, secondo i canoni tradizionali.

Listato 70.5. Un file /etc/pam.d/other per consentire l'accesso in mancanza di altro.

auth     required       pam_unix.so
account  required       pam_unix.so
password required       pam_unix.so
session  required       pam_unix.so

Per verificare che ciò sia vero, si può provare a spostare temporaneamente gli altri file di configurazione della directory /etc/pam.d/ in un'altra collocazione, lasciando al suo posto il file /etc/pam.d/other.

In alternativa, si può fare in modo che non ci siano altre possibilità di autenticazione, al di fuori di quando definito dai file di configurazione specifici. Per questo, basta che il file /etc/pam.d/other contenga le righe che si vedono nel listato 70.6.

Listato 70.6. Un file /etc/pam.d/other per impedire l'accesso quando manca una configurazione specifica.

auth     required       pam_deny.so
account  required       pam_deny.so
password required       pam_deny.so
session  required       pam_deny.so

70.2   Verifica nel registro del sistema

A seconda delle circostanze, alcuni moduli possono annotare nel registro del sistema l'esito della loro verifica. In generale, è prevista l'opzione debug per abilitare queste annotazioni, salvo quando ciò è implicito, che dovrebbe essere riconosciuta dalla maggior parte dei moduli. Queste annotazioni possono aiutare l'amministratore a comprendere dove ci possono essere dei problemi di configurazione. A titolo di esempio, si può osservare l'estratto seguente:

Oct 21 18:07:30 dinkel PAM_unix[591]: check pass; user unknown
Oct 21 18:07:30 dinkel PAM_unix[591]: authentication failure; \
  \LOGIN(uid=0) -> tizio for login service Oct 21 18:07:33 dinkel login[591]: FAILED LOGIN (1) on `tty3' \
  \FOR `UNKNOWN', Authentication service cannot retrieve authentication info.

In questo caso si può osservare che l'utente tizio ha tentato di accedere attraverso il servizio di autenticazione login, senza che per lui sia prevista un'utenza, pertanto, già il nominativo-utente tizio risulta sconosciuto.

70.3   Configurazione dei moduli

Oltre alle opzioni fornite nei record dei file di configurazione dei servizi di autenticazione, nella directory /etc/pam.d/, alcuni moduli possono richiedere una configurazione particolare. Questi file ulteriori hanno solitamente un nome corrispondente a quello dei moduli, senza il prefisso pam_ e senza l'estensione .so, con l'aggiunta dell'estensione .conf, collocati nella directory /etc/security/. Per esempio, il file /etc/security/access.conf si riferisce al modulo pam_access.so.

In condizioni normali, tali file di configurazione ulteriori, sono vuoti, oppure sono commentati completamente, rimanendo a disposizione per la definizione di funzionalità particolari.

70.4   Riferimenti

Appunti di informatica libera 2006.01.01 --- Copyright © 2000-2006 Daniele Giacomini -- <daniele (ad) swlibero·org>, <daniele·giacomini (ad) poste·it>


1) Linux-PAM   licenza in stile BSD che può trasformarsi in GNU GPL

2) La gerarchia che parte dalla directory /usr/ tipica, potrebbe essere contenuta in un disco diverso da quello che contiene quella principale; pertanto, se all'avvio ci sono delle difficoltà e non si può innestare la gerarchia /usr/, si rischia di non poter usare il sistema perché mancano le librerie PAM.


Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome moduli_pam.htm

[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [violazione licenza] [translators] [docinfo] [indice analitico]

Valid ISO-HTML!

CSS validator!

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Sub-domains

CDRoms - Magnatune - Librivox - Liber Liber - Encyclopaedia Britannica - Project Gutenberg - Wikipedia 2008 - Wikipedia 2007 - Wikipedia 2006 -

Other Domains

https://www.classicistranieri.it - https://www.ebooksgratis.com - https://www.gutenbergaustralia.com - https://www.englishwikipedia.com - https://www.wikipediazim.com - https://www.wikisourcezim.com - https://www.projectgutenberg.net - https://www.projectgutenberg.es - https://www.radioascolto.com - https://www.debitoformtivo.it - https://www.wikipediaforschools.org - https://www.projectgutenbergzim.com