table of contents
LOGIN.DEFS(5) | Formati di file e conversioni | LOGIN.DEFS(5) |
NOME¶
login.defs - configurazione del pacchetto password shadowDESCRIZIONE¶
Il file /etc/login.defs contiene la configurazione specifica per questo sistema relativa al pacchetto password shadow. Questo file è obbligatorio. La sua assenza non bloccerà l'utilizzo del sistema, ma probabilmente sarà causa di risultati non desiderati. Questo file è un file di testo leggibile nel quale ogni riga descrive un parametro di configurazione. Le righe consistono di una coppia nome valore separati da spazi. Le righe vuote e di commento sono ignorate. I commenti iniziano con con il simbolo "#" che deve essere il primo carattere diverso da spazio della riga. I valori dei parametri possono essere di quattro tipi: testo, booleano, numerico e numerico lungo. Un testo può contenere qualsiasi carattere stampabile. Un booleano dovrebbe essere uno tra yes e no. Un parametro dal valore booleano non definito oppure uno che ha un valore diverso da quelli permessi verrà equiparato al valore no. I numerici (sia normali che lunghi) possono essere decimali, ottali (preceduti da 0) o esadecimali (preceduti da 0x). Il valore massimo dei numerici normali e lunghi è dipendente dalla macchina. Sono forniti i seguenti parametri di configurazione: CHFN_RESTRICT (testo)Questo parametro specifica quali valori del
campo gecos del file /etc/passwd possono essere cambiati da utenti
normali usando il programma chfn. Può essere una combinazione
qualsiasi delle lettere f, r, w, h per «Nome
completo (f)», «Numero stanza (r)», «Telefono di lavoro
(w)» e «Telefono di casa (h)». Per compatibilità con
precedenti versioni, yes è quivalente a rwh e no
è equivalente a frwh. Se non specificato, solo il super utente
può effettuare modifiche. Le impostazioni più stringenti si
ottengono installando chfn non SUID.
CONSOLE_GROUPS (testo)
Elenco di gruppi da aggiungere ai gruppi
supplementari dell'utente quando questi accede dalla console (come determinato
dalla impostazione CONSOLE). Il valore predefinito è nullo.
Usare con cautela - è possibile che gli utenti ottengano l'accesso
permanente a questi gruppi anche se non accedono dalla console.
CREATE_HOME (booleano)
Indica se per i nuovi utenti va creata la
directory home.
Questa impostazione non viene applicata agli utenti di sistema e può essere
modificata sulla riga di comando.
DEFAULT_HOME (booleano)
Indica se permettere l'accesso al sistema
anche se non si può accedere alla directory home. Il valore predefinito
è no.
Se impostato a yes, l'utente accederà alla directory root (/) nel
caso che non sia possibile accedere alla propria directory home.
ENCRYPT_METHOD (testo)
Definisce l'algoritmo di cifratura predefinito
per le password (se non ne viene specificato uno a riga di comando).
Può avere uno dei seguenti valori: DES (predefinito), MD5,
SHA256, SHA512.
Nota: questo parametro ha la precedenza sulla variabile MD5_CRYPT_ENAB.
Nota: questo ha effetto solo sulla generazione delle password di gruppo. La
generazione delle password utente avviene tramite PAM ed è soggetta alla
configurazione PAM. È raccomandato di impostare questa variabile in
maniera consistente con la configurazione PAM.
ENV_HZ (testo)
Se impostato viene utilizzato per definire il
valore della variabile d'ambiente HZ al login dell'utente. Il valore deve
essere preceduto da HZ=. Un valore comune per Linux è
HZ=100.
La variabile d'ambiente HZ viene impostata solo quando l'utente (il super
utente) accede con sulogin.
ENV_PATH (testo)
If set, it will be used to define the PATH
environment variable when a regular user login. The value is a colon separated
list of paths (for example /bin:/usr/bin) and can be preceded by
PATH=. The default value is PATH=/bin:/usr/bin.
ENV_SUPATH (testo)
If set, it will be used to define the PATH
environment variable when the superuser login. The value is a colon separated
list of paths (for example /sbin:/bin:/usr/sbin:/usr/bin) and can be
preceded by PATH=. The default value is
PATH=/sbin:/bin:/usr/sbin:/usr/bin.
ERASECHAR (numerico)
Carattere ERASE del terminale (010 =
backspace, 0177 = Canc).
Il valore deve avere il prefisso «0» se in ottale, o «0x» se
esadecimale.
FAIL_DELAY (numerico)
Numero di secondi prima che venga concesso un
ulteriore tentativo dopo un accesso fallito.
FAKE_SHELL (testo)
Se impostato, login eseguirà
questa shell al posto di quella utente specificata in /etc/passwd.
GID_MAX (numerico), GID_MIN (numerico)
Intervallo di ID di gruppo per la creazione di
gruppi normali tramite useradd, groupadd o newusers.
Il valore predefinito per GID_MIN (rispettivamente GID_MAX) è
1000 (rispettivmente 60000).
HUSHLOGIN_FILE (testo)
Se definito, questo file inibisce quanto
stampato durante l'accesso. Se viene specificato un percorso completo, la
modalità silenziosa (hushed) viene attivata se in quel file è
presente il nome dell'utente o della shell dell'utente. Se il percorso non
è completo, allora la modalità silenziosa viene attivata se quel
file è presente nella directory home dell'utente.
KILLCHAR (numerico)
Il carattere da usare sul terminale per
cancellare l'intera riga ( 025 = CTRL-U)
Il valore deve avere il prefisso «0» se in ottale, o «0x» se
esadecimale.
LOG_OK_LOGINS (booleano)
Abilita la tracciatura degli accessi avvenuti
con successo.
LOG_UNKFAIL_ENAB (booleano)
Abilita l'inclusione dei nomi utente
sconosciuti quando si registrano gli accessi falliti.
Nota: memorizzare i nomi sconosciuti potrebbe diventare un problema legato alla
sicurezza se un utente inserisce la propria password al posto del nome
utente.
LOGIN_RETRIES (numerico)
Massimo numero di tentativi di accesso per
password errata.
Questa impostazione verrà probabilmente superata da quella di PAM
poiché il modulo predefinito pam_unix ha una sua gestione con 3
tentativi. In ogni caso questa è una impostazione di sicurezza nel caso
in cui si utilizzi un modulo PAM che ignora PAM_MAXTRIES.
LOGIN_TIMEOUT (numerico)
Numero massimo di secondi per l'accesso.
MAIL_DIR (testo)
La directory di spool per la posta. Questa
è necessaria per manipolare la casella di posta quando il corrispondente
account utente viene modificato o cancellato. Se non è specificata viene
utilizzato un valore impostato al momento della compilazione.
MAIL_FILE (testo)
Imposta la posizione delle caselle di posta
degli utenti relative alla loro directory home.
Le variabili MAIL_DIR e MAIL_FILE vengono utilizzate da
useradd, usermod e userdel per creare, spostare e
cancellare le caselle di posta dell'utente.
MAX_MEMBERS_PER_GROUP (numero)
Numero massimo di membri per gruppo. Quando
viene raggiunto il massimo, viene creata una nuova riga per il gruppo nel file
/etc/group (con lo stesso nome, stessa password e stesso GID).
Il valore predefinito è 0, che non pone nessun limite al numero di membri
per gruppo.
Questa opzione (dividi gruppo) permette di limitare la lunghezza delle righe nel
file «group». Questo è utile per essere certi che le righe per
gruppi NIS non eccedano i 1024 caratteri.
Se si deve impostare questo limite, si può usare 25.
Nota: la divisione dei gruppi potrebbe non essere supportata da ogni strumento
(anche all'interno del pacchetto Shadow). Non si dovrebbe utilizzare questa
variabile a meno di esserci forzati.
MD5_CRYPT_ENAB (booleano)
Indica se le password vanno cifrate usando
l'algoritmo basato su MD5. Se impostato a yes le nuove password saranno
cifrate usando un algoritmo basato su MD5 e compatibile con quello delle
versioni più recenti di FreeBSD. Supporta password di lunghezza qualsiasi
e testi «salt» più lunghi. Impostare a no se si devono
copiare password su altri sistemi che non gestiscono l'algoritmo. Il valore
predefinito è no.
Questa variabile ha meno priorità della variabile ENCRYPT_METHOD e
di qualsiasi opzione a riga di comando che imposta un algoritmo di cifratura.
Questa variabile non è più usata. Si dovrebbe utilizzare
ENCRYPT_METHOD.
Nota: questo ha effetto solo sulla generazione delle password di gruppo. La
generazione delle password utente avviene tramite PAM ed è soggetta alla
configurazione PAM. È raccomandato di impostare questa variabile in
maniera consistente con la configurazione PAM.
PASS_MAX_DAYS (numerico)
Il numero massimo di giorni che una password
può essere utilizzata. Se la password è più vecchia verrà
imposto il suo cambiamento. Se non specificato viene assunto -1 (che
disabilita questo controllo).
PASS_MIN_DAYS (numerico)
Il numero minimo di giorni tra due cambiamenti
di password. Ogni tentativo di cambiare la password prima di questo periodo
verrà rifiutato. Se non specificato viene assunto -1 (che disabilita
questo controllo).
PASS_WARN_AGE (numerico)
Il numero di giorni per i quali un utente va
avvisato che la sua password sta per scadere. Se zero l'utente viene avvisato
solo alla scadenza. Un valore negativo indica che non si deve avvisare mai. Se
non specificato allora non c'è nessun avviso.
PASS_MAX_DAYS, PASS_MIN_DAYS e PASS_WARN_AGE sono
utilizzate solo al momento della creazione dell'account. Qualsiasi cambiamento
di queste impostazioni non modifica gli account preesistenti.
SHA_CRYPT_MIN_ROUNDS (numerico), SHA_CRYPT_MAX_ROUNDS (numerico)
Quando ENCRYPT_METHOD vale
SHA256 o SHA512, questo definisce il numero di cicli SHA usati
per l'algoritmo di cifratura (quando il numero di cicli non è impostato a
riga di comando).
Con molti cicli è più difficile trovare una password usando la forza
bruta. Ma va notato che è richiesta maggiore potenza di calcolo per
autenticare gli utenti.
Se non specificato sarà la libc a scegliere il numero di cicli (5000).
Il valore deve essere compreso tra 1.000 e 999.999.999.
Se viene impostato solo uno tra SHA_CRYPT_MIN_ROUNDS e
SHA_CRYPT_MAX_ROUNDS, allora l'unico valore viene utilizzato.
Se SHA_CRYPT_MIN_ROUNDS > SHA_CRYPT_MAX_ROUNDS, allora viene
utilizzato il maggiore.
Nota: questo ha effetto solo sulla generazione delle password di gruppo. La
generazione delle password utente avviene tramite PAM ed è soggetta alla
configurazione PAM. È raccomandato di impostare questa variabile in
maniera consistente con la configurazione PAM.
SULOG_FILE (testo)
Se definito, tutta l'attività di
«su» viene tracciata in questo file.
SU_NAME (testo)
Se definito è il nome del comando da
mostrare quando si esegue «su -». Ad esempio, se lo di definisce
come «su» allora «ps» mostrerà che il comando è
«-su». Se non definito, «ps» mostrerà il nome della
shell invocata, come «-sh».
SYS_GID_MAX (numerico), SYS_GID_MIN (numerico)
Intervallo di ID di gruppo utilizzato per la
creazione di un gruppo di sistema da useradd, groupadd o
newusers.
Il valore predefinito per SYS_GID_MIN (rispettivamente
SYS_GID_MAX) è 101 (rispettivamente GID_MIN-1).
SYS_UID_MAX (numerico), SYS_UID_MIN (numerico)
Intervallo di ID utente per la creazione degli
utenti di sistema con useradd o newusers.
Il valore predefinito per SYS_UID_MIN (rispettivamente
SYS_UID_MAX) è 101 (rispettivamente UID_MIN-1).
SYSLOG_SG_ENAB (booleano)
Abilita il tracciamento dell'attività di
sg su «syslog».
SYSLOG_SU_ENAB (booleano)
Abilita la tracciatura su «syslog»
dell'attività di su, oltre a quella sul file
«sulog».
TTYGROUP (testo), TTYPERM (testo)
I permessi del terminale: il tty usato per
l'accesso sarà di proprietà del gruppo TTYGROUP e avrà
permessi impostati a TTYPERM.
In maniera predefinita la proprietà del terminale sarà impostata al
gruppo primario dell'utente, mentre i permessi saranno 0600.
TTYGROUP può essere il nome del gruppo o il suo identificativo
numerico.
Se si ha il comando write che è «setgid» e ha un gruppo
speciale che possiede i terminali, definire TTYGROUP con lo stesso gruppo e
TTYPERM a 0620. Altrimenti lasciare TTYGROUP commentato e assegnare TTYPERM a
622 o 600.
TTYTYPE_FILE (testo)
Se definito si tratta di un file che mappa le
linee tty nella variabile d'ambiente TERM. Ogni riga del file è in un
formato tipo «vt100 tty01».
UID_MAX (numerico), UID_MIN (numerico)
Intervallo di ID utente da utilizzare nella
creazione degli utenti normali tramite useradd o newusers.
Il valore predefinito per UID_MIN (rispettivamente UID_MAX) è
1000 (rispettivamente 60000).
UMASK (numerico)
La maschera di permessi alla creazione dei
file è inizializzata con questo valore. Se non specificato la maschera
viene impostata a 022.
useradd e newusers usano questa maschera per impostare i permessi
della directory home che creano.
Viene anche utilizzato da pam_umask come valore umask predefinito.
USERDEL_CMD (testo)
Se definito, questo comando viene eseguito
quando si cancella un utente. Dovrebbe rimuovere tutti i compiti di
stampa/cron/at di proprietà dell'utente da cancellare (passato come primo
argomento).
Il codice d'uscita restituito dallo script non è preso in considerazione.
Ecco uno script di esempio che rimuove i job dell'utente, sia di cron che at che
di stampa:
USERGROUPS_ENAB (booleano)
#! /bin/sh # Verifica la presenza dell'argomento obbligatorio if [ $# != 1 ]; then echo "Uso: $0 username" exit 1 fi # Rimuove i compiti di cron crontab -r -u $1 # Rimuove i compiti di at # Nota che verranno rimossi tutti i compiti di proprietà dello stesso UID, # anche se condiviso con un altro nome utente. AT_SPOOL_DIR=/var/spool/cron/atjobs find $AT_SPOOL_DIR -name "[^.]*" -type f -user $1 -delete \; # Rimuove le stampe lprm $1 # Finito. exit 0
Se impostato a yes, userdel
cancellerà il gruppo dell'utente se non contiene altri membri, e
useradd creerà automaticamente un gruppo con lo stesso nome
dell'utente.
RIFERIMENTI INCROCIATI¶
I seguenti riferimenti incrociati mostrano quali programmi del pacchetto shadow password utilizzano quali parametri. chfnCHFN_RESTRICT
chgpasswd
ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP
MD5_CRYPT_ENAB SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS
chpasswd
ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP
MD5_CRYPT_ENAB SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS
groupadd
GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP
SYS_GID_MAX SYS_GID_MIN
groupdel
MAX_MEMBERS_PER_GROUP
groupmems
MAX_MEMBERS_PER_GROUP
groupmod
MAX_MEMBERS_PER_GROUP
grpck
MAX_MEMBERS_PER_GROUP
grpconv
MAX_MEMBERS_PER_GROUP
grpunconv
MAX_MEMBERS_PER_GROUP
login
CONSOLE_GROUPS DEFAULT_HOME ERASECHAR
FAIL_DELAY FAKE_SHELL HUSHLOGIN_FILE KILLCHAR LOGIN_RETRIES LOGIN_TIMEOUT
LOG_OK_LOGINS LOG_UNKFAIL_ENAB TTYGROUP TTYPERM TTYTYPE_FILE
USERGROUPS_ENAB
newgrp / sg
SYSLOG_SG_ENAB
newusers
ENCRYPT_METHOD GID_MAX GID_MIN
MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE
SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS SYS_GID_MAX SYS_GID_MIN SYS_UID_MAX
SYS_UID_MIN UID_MAX UID_MIN UMASK
pwck
PASS_MAX_DAYS PASS_MIN_DAYS
PASS_WARN_AGE
pwconv
PASS_MAX_DAYS PASS_MIN_DAYS
PASS_WARN_AGE
su
CONSOLE_GROUPS DEFAULT_HOME ENV_PATH
ENV_SUPATH SULOG_FILE SU_NAME SYSLOG_SU_ENAB
sulogin
ENV_HZ
useradd
CREATE_HOME GID_MAX GID_MIN MAIL_DIR
MAX_MEMBERS_PER_GROUP PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE SYS_GID_MAX
SYS_GID_MIN SYS_UID_MAX SYS_UID_MIN UID_MAX UID_MIN UMASK
userdel
"MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP
USERDEL_CMD USERGROUPS_ENAB
usermod
MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP
ERRORI¶
Molte delle funzionalità che erano fornite dal pacchetto password shadow sono adesso gestite da PAM. Quindi /etc/login.defs non è più utilizzato da passwd(1), e meno usato da login(1) e su(1). Vedere la corrispondente configurazione di PAM.VEDERE ANCHE¶
login(1), passwd(1), su(1), passwd(5), shadow(5), pam(8).25/05/2012 | shadow-utils 4.1.5.1 |