LINUX: gestione di utenti e gruppi
Sommario:
- Comando
useradd
- Come creare un nuovo utente in Linux
- Come aggiungere un nuovo utente e creare la home directory
- Creazione di un utente con home directory specifica
- Creazione di un utente con ID utente specifico
- Creazione di un utente con ID gruppo specifico
- Creazione di un utente e assegnazione di più gruppi
- Creazione di un utente con shell di accesso specifica
- Creazione di un utente con commento personalizzato
- Creazione di un utente con una data di scadenza
- Creazione di un utente di sistema
- Modifica dei valori predefiniti di useradd
- Conclusione
Linux è un sistema multiutente che significa che più di una persona può interagire con lo stesso sistema contemporaneamente. Come amministratore di sistema, hai la responsabilità di gestire gli utenti e i gruppi del sistema creando e rimuovendo gli utenti e assegnandoli a diversi gruppi.
In Linux, è possibile creare un account utente e assegnare l'utente a diversi gruppi utilizzando il comando
useradd
.
useradd
è un'utilità di basso livello, gli utenti Debian e Ubuntu probabilmente useranno invece il comando adduser più amichevole.
, parleremo di come utilizzare il comando
useradd
ed esplorare le sue opzioni.
Comando
useradd
La sintassi generale per il comando
useradd
è la seguente:
useradd USERNAME
Per poter utilizzare il comando
useradd
e creare nuovi utenti è necessario accedere come root o come utente con accesso sudo.
Quando viene invocato,
useradd
crea un nuovo account utente utilizzando le opzioni specificate nella riga di comando più i valori predefiniti specificati nel
/etc/default/useradd
.
Le variabili definite in questo file differiscono da distribuzione a distribuzione, il che fa sì che il comando
useradd
produca risultati diversi su sistemi diversi.
Il comando legge anche il contenuto del file
/etc/login.defs
. Questo file contiene la configurazione per la suite di password shadow, ad esempio criteri di scadenza della password, intervalli di ID utente utilizzati durante la creazione di utenti di sistema e normali e altro.
Come creare un nuovo utente in Linux
Per creare un nuovo account utente digitare
useradd
seguito dal nome utente.
Ad esempio, per creare un nuovo utente chiamato
username
, eseguiresti:
sudo useradd username
Nella sua forma più semplice se usato senza alcuna opzione, useradd creerà un nuovo account utente con le impostazioni predefinite specificate nel
/etc/default/useradd
.
Il comando aggiunge una voce ai
/etc/passwd
,
/etc/shadow,
/etc/group
e
/etc/gshadow
.
Per poter accedere come l'utente appena creato, è necessario impostare la password dell'utente. Per farlo, esegui il comando
passwd
seguito dal nome utente:
sudo passwd username
Ti verrà richiesto di inserire e confermare la password. Assicurati di utilizzare una password complessa.
Changing password for user username. New password: Retype new password: passwd: all authentication tokens updated successfully.
Come aggiungere un nuovo utente e creare la home directory
Nella maggior parte delle distro Linux, quando si crea un nuovo account utente con il comando
useradd
la directory home dell'utente non viene creata.
Utilizzare l'opzione
-m
(
--create-home
) per creare la home directory dell'utente come
/home/username
:
sudo useradd -m username
Il comando sopra crea la home directory del nuovo utente e copia i file dalla directory
/etc/skel
alla home directory dell'utente. Se elenchi i file nella directory
/home/username
, vedrai i file di inizializzazione:
ls -la /home/username/
drwxr-xr-x 2 username username 4096 Dec 11 11:23. drwxr-xr-x 4 root root 4096 Dec 11 11:23.. -rw-r--r-- 1 username username 220 Apr 4 2018.bash_logout -rw-r--r-- 1 username username 3771 Apr 4 2018.bashrc -rw-r--r-- 1 username username 807 Apr 4 2018.profile
All'interno della home directory, l'utente può scrivere, modificare ed eliminare file e directory.
Creazione di un utente con home directory specifica
Ad esempio, per creare un nuovo utente chiamato
username
con una home directory di
/opt/username
dovrai eseguire il seguente comando:
sudo useradd -m -d /opt/username username
Creazione di un utente con ID utente specifico
Nei sistemi operativi Linux e Unix, gli utenti sono identificati da UID e nome utente univoci.
L'identificatore utente (UID) è un numero intero positivo univoco assegnato dal sistema Linux a ciascun utente. L'UID insieme ad altri criteri di controllo dell'accesso viene utilizzato per determinare i tipi di azioni che un utente può eseguire sulle risorse di sistema.
Per impostazione predefinita, quando viene creato un nuovo utente, il sistema assegna il successivo UID disponibile dall'intervallo di ID utente specificato nel file
login.defs
.
Utilizzare l'opzione
-u
(
--uid
) per creare un utente con un UID specifico. Ad esempio, per creare un nuovo utente chiamato nome
username
con UID di
1500
, digitare:
sudo useradd -u 1500 username
Puoi verificare l'UID dell'utente, usando il comando
id
:
id -u username
Creazione di un utente con ID gruppo specifico
I gruppi Linux sono unità organizzative che vengono utilizzate per organizzare e amministrare gli account utente in Linux. Lo scopo principale dei gruppi è definire un insieme di privilegi come lettura, scrittura o esecuzione dell'autorizzazione per una determinata risorsa che può essere condivisa tra gli utenti all'interno del gruppo.
Quando si crea un nuovo utente, il comportamento predefinito del comando
useradd
è quello di creare un gruppo con lo stesso nome del nome utente e lo stesso GID dell'UID.
Utilizzare l'
-g
(
--gid
) per creare un utente con uno specifico gruppo di accesso iniziale. È possibile specificare il nome del gruppo o il numero GID. Il nome del gruppo o GID deve già esistere.
Ad esempio, per creare un nuovo utente chiamato nome
username
e impostare il gruppo di accesso sul tipo di
users
:
sudo useradd -g users username
Per verificare il GID dell'utente, utilizzare il comando
id
:
id -gn username
Creazione di un utente e assegnazione di più gruppi
Esistono due tipi di gruppi nei sistemi operativi Linux Gruppo primario e Gruppo secondario o supplementare. Ogni utente può appartenere esattamente a un gruppo primario e zero o più gruppi secondari.
L'opzione
-G
(
--groups
) consente di specificare un elenco di gruppi supplementari di cui l'utente sarà membro.
Il comando seguente creerà un nuovo utente chiamato
username
con
users
gruppo primario e gruppi secondari
wheel
e
docker
.
sudo useradd -g users -G wheel, developers username
È possibile controllare i gruppi di utenti digitando
id username
uid=1002(username) gid=100(users) groups=100(users), 10(wheel), 993(docker)
Creazione di un utente con shell di accesso specifica
Per impostazione predefinita, la shell di accesso del nuovo utente è impostata su quella specificata nel
/etc/default/useradd
. In alcune distribuzioni Linux come Ubuntu 18.04 la shell predefinita è impostata su
/bin/sh
mentre in altre è impostata su
/bin/bash
.
L'opzione
-s
(
--shell
) consente di specificare la shell di accesso del nuovo utente.
Ad esempio per creare un nuovo utente chiamato
username
con
/usr/bin/zsh
come tipo di shell di login:
sudo useradd -s /usr/bin/zsh username
Controllare la voce dell'utente nel
/etc/passwd
per verificare la shell di accesso dell'utente:
grep username /etc/passwd
username:x:1001:1001::/home/username:/usr/bin/zsh
Creazione di un utente con commento personalizzato
L'opzione
-c
(
--comment
) consente di aggiungere una breve descrizione per il nuovo utente. In genere il nome completo dell'utente o le informazioni di contatto vengono aggiunti come commento.
Nel seguente esempio stiamo creando un nuovo utente chiamato
username
con stringa di testo
Test User Account
come commento:
sudo useradd -c "Test User Account" username
Il commento viene salvato nel
/etc/passwd
:
grep username /etc/passwd
username:x:1001:1001:Test User Account:/home/username:/bin/sh
Il campo dei commenti è anche noto come
GECOS
.
Creazione di un utente con una data di scadenza
L'opzione
-e
(
--expiredate
) consente di definire un momento in cui i nuovi account utente scadranno. Questa opzione è utile per creare account temporanei. La data deve essere specificata utilizzando il formato
YYYY-MM-DD
.
Ad esempio, per creare un nuovo account utente chiamato nome
username
con scadenza impostata su 22 gennaio 2019, dovrai eseguire:
sudo useradd -e 2019-01-22 username
È possibile utilizzare il comando
chage
per verificare la data di scadenza dell'account utente:
sudo chage -l username
L'output sarà simile al seguente:
Last password change: Dec 11, 2018 Password expires: never Password inactive: never Account expires: Jan 22, 2019 Minimum number of days between password change: 0 Maximum number of days between password change: 99999 Number of days of warning before password expires: 7
Creazione di un utente di sistema
Non vi è alcuna reale differenza tecnica tra il sistema e gli utenti normali (normali). In genere, gli utenti del sistema vengono creati durante l'installazione del sistema operativo e dei nuovi pacchetti.
In alcune situazioni, potrebbe essere necessario creare un utente di sistema che verrà utilizzato da alcune applicazioni.
Utilizzare l'opzione
-r
(
--system
) per creare un account utente di sistema. Ad esempio, per creare un nuovo utente di sistema chiamato nome
username
dovresti eseguire:
sudo useradd -r username
Gli utenti del sistema vengono creati senza data di scadenza. I loro UID sono scelti dall'intervallo di ID utente di sistema specificato nel file
login.defs
che è diverso dall'intervallo utilizzato per gli utenti normali.
Modifica dei valori predefiniti di useradd
Le opzioni useradd predefinite possono essere visualizzate e modificate usando l'opzione
-D
,
--defaults
o modificando manualmente i valori nel
/etc/default/useradd
.
Per visualizzare le opzioni predefinite correnti digitare:
useradd -D
L'output sarà simile al seguente:
GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/sh SKEL=/etc/skel CREATE_MAIL_SPOOL=no
Supponiamo che tu voglia cambiare la shell di accesso predefinita da
/bin/sh
a
/bin/bash
. Per fare ciò, specifica la nuova shell come mostrato di seguito:
sudo useradd -D -s /bin/bash
È possibile verificare che il valore della shell predefinito venga modificato eseguendo il comando seguente:
sudo useradd -D | grep -i shell
Conclusione
In questo tutorial, ti abbiamo mostrato come creare nuovi account utente usando il comando
useradd
. Le stesse istruzioni valgono per qualsiasi distribuzione Linux, inclusi Ubuntu, CentOS, RHEL, Debian, Fedora e Arch Linux.
Sentiti libero di lasciare un commento in caso di domande.
gruppo di utenti terminaliCome creare un database mysql su Linux tramite riga di comando

Questo tutorial spiega come utilizzare la riga di comando per creare database MySQL o MariaDB.
Come creare directory in linux (comando mkdir)

Nei sistemi Linux, è possibile creare nuove directory dalla riga di comando o con l'aiuto del file manager del desktop. Il comando che consente di creare directory (note anche come cartelle) è mkdir.
Come creare gruppi in linux (comando groupadd)

In questo articolo, parleremo di come creare nuovi gruppi in Linux, usando il comando groupadd. I gruppi vengono utilizzati per organizzare e amministrare gli account utente.