6.1.3 Creare uno user account
La creazione di uno user account consta dei seguenti passi:
- Aggiungere una riga al file /etc/passwd relativa al nuovo utente;
- Aggiungere (eventualmente) una riga al file /etc/group relativo ad nuovo gruppo
per il nuovo utente;
- Se esiste il file /etc/shadow aggiungere una riga relativa al nuovo utente;
- Se esiste il file /etc/gshadow aggiungere (eventualmente) una riga al nuovo gruppo
per il nuovo utente;
- Creare la home directory del nuovo utente (/home/username);
- Copiare il contenuto della skeleton directory (in genere la directory /etc/skel)
in /home/username;
- Attribuire come proprietario di /home/username l’utente appena creato e come
gruppo proprietario il gruppo di default a cui appartiene l’utente appena creato;
- Attribuire gli opportuni permessi alla home directory (lettura, scrittura ed
esecuzione per il proprietario);
È compito dell’amministratore far in modo che non vi siano due o più user
account con lo stesso username poiché il sistema non sarebbe, in tal caso, capace
di decidere a quale UID si riferisce lo username fornito dall’utente in fase di
autenticazione.
|
Uno user account può essere creato con il comando useradd (man page useradd(8)).
____________________________________________________________________
Comando: useradd
Path: /usr/sbin/useradd
SINTASSI
# useradd [option] username
DESCRIZIONE
-
option indica la modalità di funzionamento di useradd. Può assumere i seguenti
valori:
-
-c comment
imposta il commento relativo all’account nel file password;
-
-d home_dir
imposta il nome della home directory dell’account (se non è
specificata viene creata una directory con lo stesso nome dello
username, all’interno della base directory - per default /home);
-
-e expiration_date
imposta la data di scadenza dell’account (la data deve essere
espressa nel formato AAAA-MM-GG). Dopo tale data l’account sarà
disabilitato;
-
-f days
imposta il numero di giorni dalla scadenza della password, dopo i
quali l’account viene disabilitato (0 indica che l’account deve essere
disabilitato appena scade la password, -1 - default - indica che
l’account non verrà mai disabilitato);
-
-g group
imposta il gruppo di default dell’account (group può essere espresso
come GID (default: 1) o come nome di gruppo);
-
-G groups
imposta l’elenco dei gruppi a cui deve appartenere l’account (groups
è un elenco di gruppi separati tra loro da virgole);
-
-m indica di creare la home directory se non esiste. I file e directory
contenuti nella directory /etc/skel saranno copiati nella home
directory (a meno che non venga specificata l’opzione -k).
-
-s shell
imposta la shell di login dell’account (per default viene impostata la
shell predefinita di sistema);
-
-u uid imposta l’uid dell’account (valori compresi tra 0 e 999 sono
tipicamente riservati ad account di sistema);
-
-o indica di creare l’account con un uid che può essere non univoco;
-
-p password
imposta la password dell’account (per default l’account viene creato
disabilitato). La password deve essere specificata in maniera cifrata,
come ritornata da crypt;
-
-D [opt]
visualizza o modifica le impostazioni di default di useradd. È
possibile modificare le impostazioni di default specificando come opt
una delle seguenti opzioni
-
-b base_dir
imposta la base directory, nella quale vengono create le home
directory dei vari account;
-
-e def_expiration_date
imposta la data di scadenza predefinita della password;
-
-f def_days
imposta il numero di giorni di default dopo i quali, in seguito
alla scadenza della password, l’account viene disabilitato;
-
-g def_group
imposta il gruppo predefinito di default;
-
-s def_shell
imposta la shell di default;
-
username indica lo username dell’account da 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/skel.