Una persona può accedere ad un sistema diventandone un utente. Ogni utente è identificato univocamente dal sistema da un valore numerico detto UID (User IDentifier). A tale valore è associata una coppia di valori alfanumerici: lo username e la password. Lo username (nome dell’utente) non è altro che un alias alfanumerico dello UID, che l’utente può più facilmente memorizzare per fornirlo al sistema qualora gli venga richiesto (per esempio ciò avviene al momento dell’accesso al sistema stesso, cioè durante la procedura di accesso al sistema o procedura di login). La password è una “parola d’ordine” che solo l’utente interessato dovrebbe conoscere (mentre lo username almeno l’amministratore del sistema lo conosce). Questa serve per garantire l’autenticità dell’utente dichiarato con lo username per la procedura di accesso al sistema (v. sez. 5.9).
L’insieme composto dallo UID, lo username, la password e gli altri dettagli relativi ad un utente, costituisce lo user account dell’utente presso il sistema. Dunque, un utente può accedere ad un sistema soltanto se ha uno user account (o semplicemente account) su quel sistema.
Gli user account sono memorizzati nel file /etc/passwd (man page passwd(5)) che è un file in formato testo le cui righe hanno la seguente sintassi:
username:password:UID:GID:description:home directory:shell
dove
Se password è un asterisco ‘*’, significa che l’utente in questione non può accedere al sistema attraverso la procedura di autenticazione che in genere avviene tramite login.
Tra tutti gli utenti ce n’è uno particolare che il sistema riconosce come amministratore, quello il cui UID è 0. Questi, sui sistemi Unix-like, è chiamato superuser, ed in genere gli viene assegnato lo username “root” e la home directory /root. Il superuser ha acesso indiscriminato a tutte le risorse del sistema, ovvero può accedere a tutto il filesystem in lettura/scrittura e lanciare qualunque comando. Il sistema non fa nessun controllo per l’accesso alle risorse effettuato dal superuser, pertanto l’accesso al sistema in qualità di tale utente deve essere ridotto al minimo indispensabile.
La creazione di un utente consta dei seguenti passi:
____________________________________________________________________
Comando: useradd
Path: /usr/sbin/useradd
SINTASSI
# useradd [option] username
DESCRIZIONE
[da completare ...]
che per mezzo delle opportune opzioni (v. man page useradd(8)) permette di specificare lo UID, la password, la home directory e la shell di default per l’utente che si desidera creare.
Per la creazione di uno user account, useradd utilizza le direttive riguardanti le caratteristiche delle utenze a livello di sitema (casella di posta elettronica, la lunghezza massima della password, ...) contenute in /etc/login.defs (man page login.defs(5)) ed il file di configurazione /etc/default/useradd che contiene le impostazioni di default per la creazione degli user account (la radice delle home directory, la shell di default, la skeleton directory di default, ...). La skeleton directory è una directory il cui contenuto viene copiato all’interno della home directory di un utente alla sua creazione. In genere tale directory è /etc/skel5.
La modifica dell’account di un utente può essere effettuata per mezzo del comando usermod (man page usermod(8)) e l’eliminazione di uno user account può essere effettuata con il comando userdel (man page userdel(8)).
__________________________________________________________________________________________________________
Comando: usermod
Path: /usr/sbin/usermod
SINTASSI
# usermod [option] username
DESCRIZIONE
[da completare ...]
____________________________________________________________________
Comando: userdel
Path: /usr/sbin/userdel
SINTASSI
# userdel [option] username
DESCRIZIONE
[da completare ...]
Ogni utente può modificare in qualunque momento la propria password per mezzo del comando passwd (man page passwd(1)).
__________________________________________________________________________________________________________
Comando: passwd
Path: /usr/bin/passwd
SINTASSI
$ passwd [option] [username]
DESCRIZIONE
[da completare ...]
|
Il superuser può modificare la password di qualunque utente. |
____________________________________________________________________
Comando: chsh
Path: /usr/bin/chsh
SINTASSI
$ chsh [option] [username]
DESCRIZIONE
[da completare ...]
|
Il superuser può modificare la shell di default di qualunque utente. |
Esiste la possibilità di modificare il contenuto del campo description di uno user account in /etc/passwd, per mezzo del comando chfn (man page chfn(1)).
__________________________________________________________________________________________________________
Comando: chfn
Path: /usr/bin/chfn
SINTASSI
$ chfn [option] [username]
DESCRIZIONE
[da completare ...]
|
Il superuser può modificare le informazioni relative a qualunque utente. |
|
Poiché le informazioni personali possono essere delicate, come ad esempio il numero telefonico dell’abitazione di un utente, quando si tratta di utenze presso elaboratori raggiungibili attraverso una rete estesa, come Internet, occorre prestare attenzione a ciò che si sta facendo: occhi indiscreti potrebbero arrivare a leggere tali informazioni. |
____________________________________________________________________
Comando: whoami
Path: /usr/bin/whoami
SINTASSI
$ whoami [option]
DESCRIZIONE
[da completare ...]
Un utente può visualizzare lo username che ha utilizzato al momento dell’accesso al sistema con il comando logname (man page logname(1)) che ha la seguente sintassi
__________________________________________________________________________________________________________
Comando: logname
Path: /usr/bin/logname
SINTASSI
$ logname [option]
DESCRIZIONE
[da completare ...]
È importante notare la differenza tra lo username attuale e quello al momento dell’accesso al sitema. Nella maggior parte dei casi tali valori coincidono ma, come sarà illustrato nella sez. 5.5, un utente può temporaneamente impersonarne un altro ed in tal caso i due valori sono diversi.
Ad ogni utente viene automaticamente assegnata dal sistema una casella di posta elettronica6 rappresentata dal file /var/mail/username (o /var/spool/mail/username a seconda della distribuzione GNU/Linux considerata) in cui vengono accumulati i messaggi di posta elettronica a lui diretti.