Linux è un sistema multiutente, il che significa che più di una persona può interagire con lo stesso sistema allo stesso tempo. In qualità di amministratore di sistema, si ha la responsabilità di gestire gli utenti e i gruppi del sistema creando e rimuovendo gli utenti e assegnandoli a gruppi diversi .
In questo articolo, parleremo di come creare nuovi account utente utilizzando il comando useradd
.,
Comando useradd #
La sintassi generale per il comandouseradd
è la seguente:
useradd USERNAME
Solo gli utenti root o con privilegi sudo possono utilizzareuseradd
comando per creare nuovi account utente.
Quando invocato,useradd
crea un nuovo account utente in base alle opzioni specificate nella riga di comando e ai valori predefiniti impostati nel file/etc/default/useradd
.,
Le variabili definite in questo file differiscono da distribuzione a distribuzione, il che fa sì che il comandouseradd
produca risultati diversi su sistemi diversi.
useradd
legge anche il contenuto del file /etc/login.defs
. Questo file contiene la configurazione per la suite di password shadow, ad esempio i criteri di scadenza della password, gli intervalli di ID utente utilizzati durante la creazione di utenti di sistema e regolari e altro ancora.,
Come creare un nuovo utente in Linux #
Per creare un nuovo account utente, invocare il comandouseradd
seguito dal nome dell’utente.
ad esempio, Per creare un nuovo utente con il nome username
si deve eseguire:
sudo useradd username
useradd
crea un nuovo account utente utilizzando le impostazioni di default specificato nel tag /etc/default/useradd
file.,Il comando aggiunge una voce ai file/etc/passwd
,/etc/shadow,
/etc/group
e/etc/gshadow
.
Per poter accedere come utente appena creato, è necessario impostare la password utente. Per farlo eseguire il comandopasswd
seguito dal nome utente:
sudo passwd username
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 directory Home #
Sulla maggior parte delle distribuzioni Linux, quando si crea un nuovo account utente conuseradd
, la directory home dell’utente non viene creata.
Uso -m
(--create-home
) opzione per creare la directory home dell’utente come /home/username
:
sudo useradd -m username
Il comando crea nuova cartella home dell’utente e la copia dei file dalla /etc/skel
directory la directory home dell’utente., Se si elencano i file nella directory/home/username
, verranno visualizzati i file di inizializzazione:
ls -la /home/username/
All’interno della directory home, l’utente può scrivere, modificare ed eliminare file e directory.
Creazione di un utente con una directory Home specifica #
Per impostazione predefinitauseradd
crea la directory home dell’utente in/home
. Se si desidera creare la directory home dell’utente in un’altra posizione, utilizzare l’opzioned
(--home
).,
Ecco un esempio che mostra come creare un nuovo utente con il nome username
con una home directory di /opt/username
:
sudo useradd -m -d /opt/username username
Creazione di un Utente con ID Utente Specifico #
In Linux e sistemi operativi Unix-like, gli utenti sono identificati da un unico UID e il nome utente.
User Identifier (UID) è un numero intero positivo univoco assegnato dal sistema Linux a ciascun utente. L’UID e altri criteri di controllo degli accessi vengono utilizzati 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
.
Invocauseradd
con l’opzione-u
(--uid
) per creare un utente con un UID specifico., Per esempio per creare un nuovo utente con il nome username
con l’UID del tag 1500
digitare:
sudo useradd -u 1500 username
È possibile verificare l’UID dell’utente, utilizzando il id
comando:
id -u username
1500
Creazione di un Utente con un Gruppo Specifico ID #
i gruppi di Linux sono unità organizzative che vengono utilizzati per organizzare e amministrare gli account utente in Linux., Lo scopo principale dei gruppi è definire un insieme di privilegi come la lettura, la scrittura o l’esecuzione delle autorizzazioni 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 comandouseradd
consiste nel creare un gruppo con lo stesso nome del nome utente e lo stesso GID dell’UID.
L’opzione-g
(--gid
) consente di creare un utente con uno specifico gruppo di login iniziale. È possibile specificare il nome del gruppo o il numero GID., Il nome del gruppo o GID deve già esistere.
L’esempio seguente mostra come creare un nuovo utente con il nome username
e impostare la password di accesso di gruppo users
tipo:
sudo useradd -g users username
Per verificare il GID dell’utente, utilizzare il tag id
comando:
id -gn username
users
Creazione di un Utente e Assegnare Più Gruppi #
Ci sono due tipi di gruppi di sistemi operativi Linux, gruppo Primario e Secondario (o complementare) del gruppo., Ogni utente può appartenere esattamente a un gruppo primario e zero o più gruppi secondari.
Specificare un elenco di gruppi supplementari di cui l’utente sarà membro con l’opzione-G
(--groups
).
Il seguente comando crea un nuovo utente denominato username
con il gruppo primario users
e i 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 Specifiche Shell di Login #
per impostazione predefinita, la nuova shell di login dell’utente è quella specificata nel tag /etc/default/useradd
file. In alcune distribuzioni 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.,
Per esempio, per creare un nuovo utente con il nome username
con /usr/bin/zsh
come una shell di login del tipo:
sudo useradd -s /usr/bin/zsh username
Controllare la voce dell’utente nel /etc/passwd
file per verificare la shell di login dell’utente:
grep username /etc/passwd
username:x :1001:1001::/home/username:/usr/bin/zsh
Creazione di un Utente Personalizzati con il Commento #
-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.,
Nell’esempio seguente, si sta creando un nuovo utente di nome username
con la stringa di testo Test User Account
commento:
sudo useradd -c "Test User Account" username
Il commento viene salvato nel /etc/passwd
file:
grep username /etc/passwd
username:x :1001:1001:Test User Account:/home/username:/bin/sh
Il campo di commento è noto anche come GECOS
.
Creazione di un utente con una data di scadenza #
Per definire un momento in cui i nuovi account utente scadranno, utilizzare l’opzione-e
(--expiredate
)., Questo è utile per la creazione di account temporanei.
La data deve essere specificata utilizzando il formato YYYY-MM-DD
.,
ad esempio, Per creare un nuovo account utente username
con un tempo di scadenza impostata 22 gennaio 2019 eseguire:
sudo useradd -e 2019-01-22 username
Uso chage
comando per verificare che l’account utente data di scadenza:
sudo chage -l username
L’output sarà simile a questa:
Last password change: Dec 11, 2018Password expires: neverPassword inactive: neverAccount expires: Jan 22, 2019Minimum number of days between password change: 0Maximum number of days between password change: 99999Number of days of warning before password expires: 7
Creazione di un Sistema di User #
non Vi è alcuna reale differenza tecnica tra il sistema e regolare (normale) utenti. In genere gli utenti di sistema vengono creati quando si installa il sistema operativo e nuovi pacchetti.,
Utilizzare l’opzione-r
(--system
) per creare un account utente di sistema. Ad esempio, per creare un nuovo utente di sistema denominato username
è necessario eseguire:
sudo useradd -r username
Gli utenti di sistema vengono creati senza data di scadenza. I loro UID sono scelti tra l’intervallo di ID utente di sistema specificato nel filelogin.defs
, che è diverso dall’intervallo utilizzato per gli utenti normali.,
Modifica dei valori useradd predefiniti #
Le opzioni useradd predefinite possono essere visualizzate e modificate utilizzando l’opzione-D
,--defaults
o modificando manualmente i valori nel file/etc/default/useradd
.
Per visualizzare le opzioni predefinite correnti digitare:
useradd -D
L’output sarà simile a questo:
GROUP=100HOME=/homeINACTIVE=-1EXPIRE=SHELL=/bin/shSKEL=/etc/skelCREATE_MAIL_SPOOL=no
Diciamo che vuoi cambiare la shell di accesso predefinita da /bin/sh
a /bin/bash
., Per indicare la nuova shell, come illustrato di seguito:
sudo useradd -D -s /bin/bash
È possibile verificare che la shell di default il valore è cambiato eseguendo il seguente comando:
sudo useradd -D | grep -i shell
SHELL=/bin/bash
Conclusione #
vi Abbiamo mostrato come creare un nuovo account utente con il useradd
comando. Le stesse istruzioni si applicano a qualsiasi distribuzione Linux, inclusi Ubuntu, CentOS, RHEL, Debian, Fedora e Arch Linux.,
useradd
è un’utilità di basso livello, gli utenti Debian e Ubuntu possono utilizzare invece il comando adduser più amichevole.