8.4. Database di utenti e gruppi
The list of users is usually stored in the /etc/passwd
file, while the /etc/shadow
file stores hashed passwords. Both are text files, in a relatively simple format, which can be read and modified with a text editor. Each user is listed there on a line with several fields separated with a colon (“:
”).
8.4.1. Lista utenti: /etc/passwd
Questa è la lista dei campi nel file /etc/passwd
:
login, per esempio rhertzog
;
password: è una password cifrata con una funzione a senso unico (crypt
), basandosi su DES
, MD5
, SHA-256
o SHA-512
. Il valore speciale "x
" indica che la password cifrata è conservata in /etc/shadow
;
uid
: numero univoco che identifica ciascun utente;
gid
: numero univoco che identifica il gruppo principale dell'utente (Debian crea in via predefinita un gruppo specifico per ogni utente);
GECOS
: campo dati che normalmente contiene il nome completo dell'utente;
directory di login, assegnata all'utente per conservare i propri file personali (la variabile d'ambiente $HOME
punta generalmente qui);
programma eseguito dopo il login. Questo è generalmente un interprete dei comandi (shell), che dà all'utente carta bianca. Se viene specificato /bin/false
(il quale non fa nulla e ritorna immediatamente il controllo), l'utente non può eseguire il login.
8.4.2. Il file delle password nascoste e cifrate: /etc/shadow
Il file /etc/shadow
contiene i seguenti campi:
8.4.3. Modificare un account o password esistente
The following commands allow modification of the information stored in specific fields of the user databases: passwd
permits a regular user to change their password, which in turn, updates the /etc/shadow
file; chfn
(CHange Full Name), reserved for the super-user (root), modifies the GECOS
field. chsh
(CHange SHell) allows the user to change their login shell; however, available choices will be limited to those listed in /etc/shells
; the administrator, on the other hand, is not bound by this restriction and can set the shell to any program of their choosing.
Infine il comando chage
(CHange AGE) consente all'amministratore di cambiare le impostazioni di scadenza della password (l'opzione -l utente
elenca le impostazioni attuali). È possibile inoltre forzare la scandenza di una password utilizzando il comando passwd -e utente
, il quale richiede all'utente di cambiare la password al prossimo accesso.
8.4.4. Disabilitare un account
Può rendersi necessario «disabilitare un account» (tagliare fuori un utente) come misura disciplinare, per eseguire delle verifiche o semplicemente in caso di una prolungata o definitiva assenza dell'utente. Un account disabilitato significa che l'utente non potrà fare login o guadagnare accesso alla macchina. L'account rimane intatto nella macchina e né i file né altri dati sono cancellati: sono semplicemente inaccessibili. Questo si ottiene usando il comando passwd -l utente
(l, per «lock»: blocco). Per riabilitare l'account si utilizza l'opzione -u
(u, per «unlock»: sblocco).
8.4.5. Lista dei gruppi: /etc/group
I gruppi sono elencati nel file /etc/group
, un semplice database testuale in un formato simile a quello del file /etc/passwd
, con i seguenti campi:
nome gruppo;
password (opzionale): Questa è utilizzata unicamente per aggiungersi ad un gruppo quando non si è un utente abituale (con i comandi
newgrp
o
sg
, si veda il riquadro
FONDAMENTALI Lavorare con diversi gruppi);
gid
: numero univoco di identificazione di un gruppo;
lista di membri: lista di nomi degli utenti che sono membri del gruppo, separati da virgole.
The addgroup
and delgroup
commands add or delete a group, respectively. The groupmod
command modifies a group's information (its gid
or identifier). The command gpasswd group
changes the password for the group, while the gpasswd -r group
command deletes it.