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».
SUB_GID_MIN (number), SUB_GID_MAX (number), SUB_GID_COUNT
(number)
If /etc/subuid exists, the commands useradd and
newusers (unless the user already have subordinate group IDs) allocate
SUB_GID_COUNT unused group IDs from the range SUB_GID_MIN to
SUB_GID_MAX for each new user.
The default values for SUB_GID_MIN, SUB_GID_MAX,
SUB_GID_COUNT are respectively 100000, 600100000 and 10000.
SUB_UID_MIN (number), SUB_UID_MAX (number), SUB_UID_COUNT
(number)
If /etc/subuid exists, the commands useradd and
newusers (unless the user already have subordinate user IDs) allocate
SUB_UID_COUNT unused user IDs from the range SUB_UID_MIN to
SUB_UID_MAX for each new user.
The default values for SUB_UID_MIN, SUB_UID_MAX,
SUB_UID_COUNT are respectively 100000, 600100000 and 10000.
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
SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS
gpasswd
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 SUB_GID_COUNT SUB_GID_MAX SUB_GID_MIN SUB_UID_COUNT
SUB_UID_MAX SUB_UID_MIN 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 SUB_GID_COUNT
SUB_GID_MAX SUB_GID_MIN SUB_UID_COUNT SUB_UID_MAX SUB_UID_MIN 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).17/05/2017 | shadow-utils 4.2 |