21.3. Configurazione del modulo PAM

Per configurare il modo operativo di alcuni moduli PAM vi sono i relativi file di configurazione che trovate sotto /etc/security. Questa sezione tratta brevemente i file menzionati nell'esempio sshd, ovvero pam_unix2.conf, pam_env.conf, pam_pwcheck.conf e limits.conf.

21.3.1. pam_unix2.conf

Per l'autenticazione password tradizionale si ricorre al modulo PAM pam_unix2 che ricava i propri dati da /etc/passwd e /etc/shadow tramite le cosiddette mappe NIS, tramite tabelle NIS+ o tramite una banca dati LDAP. Sussiste la possibilità di passare delle opzioni di configurazione a questo modulo in modo individuale nella configurazione PAM dell'applicazione o in modo globale in /etc/security/pam_unix2.conf.

Nel caso più semplice avremo un file del tipo:

Example 21.2. pam_unix2.conf

auth:   nullok
account:
password:       nullok
session:        none

L'opzione nullok per i tipi di modulo auth e password indica che sono ammesse password vuote per questo tipo di account. L'utente ha il permesso di cambiare password. Tramite l'opzione none per il tipo session si stabilisce che per questo tipo di modulo non viene protocollato alcun messaggio (impostazione di default). Per ulteriori opzioni di configurazione rimandiamo ai commenti nel file o alla pagina di manuale di pam_unix2.

21.3.2. pam_env.conf

Questo file viene utilizzato per assegnare all'utente, dopo aver invocato il modulo pam_env, un ambiente standardizzato. La sintassi per settare le variabili di ambiente è:

VARIABILE  [DEFAULT=[valore]]  [OVERRIDE=[valore]]
VARIABILE

Indicazione della variabile di ambiente da settare

[DEFAULT=[valore]]

valore di default che l'amministratore intendete impostare

[OVERRIDE=[valore]]

valori che pam_env riesce a rilevare utilizzare per sovrascrivere dei valori di default

Un esempio noto di un modo per utilizzare pam_env è rappresentato dall'adattamento delle variabili DISPLAY per login tramite la rete:

Example 21.3. pam_env.conf

REMOTEHOST     DEFAULT=localhost OVERRIDE=@{PAM_RHOST}
DISPLAY        DEFAULT=${REMOTEHOST}:0.0 OVERRIDE=${DISPLAY}

Il primo rigo imposta il valore della variabile REMOTEHOST su localhost, se pam_env non riesce a rilevare e ritornare un altro valore. La variabile DISPLAY ricorre al valore della variabile di REMOTEHOST. Per maggiori informazioni rimandiamo ai commenti del file /etc/security/pam_env.conf.

21.3.3. pam_pwcheck.conf

Da questo file il modulo pam_pwcheck recupera le opzioni per tutti i moduli del tipo password. Le impostazioni qui salvate vengono lette prima di quelle nella configurazione PAM dell'applicazione. Se per l'applicazione non è stata eseguita nessuna impostazione individuale, verrà applicata quella globale. Ecco un esempio per la seguente configurazione:

Example 21.4. pam_pwcheck.conf

password:    nullok blowfish use_cracklib

pam_pwcheck viene istruito a utilizzare password vuote e la modifica di password, l'algoritmo Blowfish per la cifratura e di eseguire la verifica delle password tramite la libreria CrackLib. Ulteriori opzioni sono reperibili nel file /etc/security/pam_pwcheck.conf.

21.3.4. limits.conf

Il modulo pam_limits legge i limiti di sistema per determinati utenti o gruppi dal file limits.conf. In teoria sussiste la possibilità di impostare dei limiti rigidi (impossibile sforare) e flessibili (possibilità di sforamento temporaneo) per le risorse di sistema. La sintassi e le possibili opzioni sono reperibili nel file stesso.