usermod
è un'utilità della riga di comando che consente di modificare le informazioni di accesso di un utente.
Questo articolo spiega come utilizzare usermod
comando per aggiungere un utente a un gruppo, modificare una shell utente, il nome di accesso, la home directory e altro.
usermod
Comando #
La sintassi di usermod
il comando assume la forma seguente:
usermod [options] USER
Solo root o utenti con sudo
l'accesso può invocare usermod
e modificare un account utente. In caso di successo, il comando non visualizza alcun output.
Aggiungi un utente a un gruppo #
Il caso d'uso più tipico di usermod
sta aggiungendo un utente a un gruppo.
Per aggiungere un utente esistente a un gruppo secondario, usa il -a -G
le opzioni seguivano il nome del gruppo e il nome utente:
usermod -a -G GROUP USER
Se desideri aggiungere l'utente a più gruppi contemporaneamente, specifica i gruppi dopo il -G
opzione separata da ,
(virgole) senza spazi bianchi intermedi.
Ad esempio, per aggiungere l'utente linuxize
ai games
gruppo, eseguiresti il seguente comando:
sudo usermod -a -G games linuxize
Usa sempre il -a
(aggiungi) quando si aggiunge un utente a un nuovo gruppo. Se ometti il -a
opzione, l'utente verrà rimosso dai gruppi non elencati dopo il -G
opzione.
Se l'utente o il gruppo non esiste, il comando ti avviserà.
Modifica gruppo utente principale #
Per modificare il gruppo principale di un utente, richiama usermod
comando con -g
l'opzione seguiva il nome del gruppo e il nome utente:
sudo usermod -g GROUP USER
Nell'esempio seguente, stiamo modificando il gruppo principale dell'utente linuxize
a developers
:
usermod -g developers linuxize
Ogni utente può appartenere esattamente a un gruppo principale ea zero o più gruppi secondari.
Modifica delle informazioni utente #
Per modificare le informazioni GECOS (il nome completo dell'utente), eseguire il comando con il -c
opzione seguita dal nuovo commento e nome utente:
usermod -c "GECOS Comment" USER
Ecco un esempio che mostra come aggiungere ulteriori informazioni all'utente linuxize:
usermod -c "Test User" linuxize
Queste informazioni sono memorizzate nel /etc/passwd
file.
Modifica della home directory di un utente #
Sulla maggior parte dei sistemi Linux, le directory home degli utenti prendono il nome dal nome dell'utente e vengono create sotto /home
directory.
Se, per qualche motivo, vuoi cambiare la home directory dell'utente, invoca usermod
comando con -d
l'opzione seguiva il percorso assoluto della nuova home directory e il nome dell'utente:
usermod -d HOME_DIR USER
Per impostazione predefinita, il comando non sposta il contenuto della home directory dell'utente in quella nuova. Per spostare il contenuto, usa il -m
opzione. Se la nuova directory non esiste già, viene creata:
usermod -d HOME_DIR -m USER
Ecco un esempio che mostra come modificare la home directory dell'utente www-data
a /var/www
:
usermod -d /var/www www-data
Modifica di una shell predefinita dell'utente #
La shell predefinita è la shell che viene eseguita dopo l'accesso al sistema. Per impostazione predefinita, sulla maggior parte dei sistemi Linux, la shell predefinita è impostata su Bash Shell.
Per modificare la shell predefinita dell'utente, esegui il comando con -s
l'opzione ha seguito il percorso assoluto della shell e il nome dell'utente:
usermod -s SHELL USER
Nell'esempio seguente, stiamo cambiando la shell utente in Zsh:
sudo usermod -s /usr/bin/zsh linuxize
Puoi scoprire quali shell sono disponibili sul tuo sistema visualizzando /etc/shells
contenuto del file.
Modifica di un UID utente #
UID (l'identificatore utente) è un numero assegnato a ciascun utente. Viene utilizzato dal sistema operativo per fare riferimento a un utente.
Per modificare l'UID utente, invocare il comando con -u
l'opzione ha seguito il nuovo UID e il nome dell'utente:
usermod -u UID USER
L'esempio seguente mostra come modificare il numero "UID" in "1050":
sudo usermod -u 1050 linuxize
L'UID dei file di proprietà dell'utente e che si trovano nella home directory dell'utente e il file della casella di posta dell'utente verrà modificato automaticamente. La proprietà di tutti gli altri file deve essere modificata manualmente.
Cambiare un nome utente #
Anche se non molto spesso, a volte potresti voler cambiare il nome di un utente esistente. Il -l
l'opzione viene utilizzata per modificare il nome utente:
usermod -l NEW_USER USER
Nell'esempio seguente, stiamo rinominando l'utente linuxize
a lisa
a “1050”:
sudo usermod -l linuxize lisa
Quando modifichi il nome utente, potresti anche voler cambiare la home directory dell'utente in modo che rifletta il nuovo nome utente.
Impostazione di una data di scadenza utente #
La data di scadenza è la data in cui l'account utente verrà disattivato. Per impostare la data di scadenza dell'utente, utilizzare il -e
opzione:
sudo usermod -e DATE USER
La data di scadenza deve essere impostata utilizzando il formato YYYY-MM-DD
.
Ad esempio, per disabilitare l'utente linuxize
il 2022-02-21
, eseguiresti il seguente comando:
sudo usermod -e "2022-02-21" linuxize
Per disabilitare la scadenza di un account, imposta una data di scadenza vuota:
sudo usermod -e "" linuxize
Usa chage -l
comando per visualizzare la data di scadenza dell'utente:
sudo chage -l linuxize
Last password change : Jul 24, 2018
Password expires : never
Password inactive : never
Account expires : never
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
La data di scadenza è memorizzata in /etc/shadow
file.
Blocco e sblocco di un account utente #
Il -L
opzione ti consente di bloccare un account utente:
usermod -L USER
I comandi inseriranno un punto esclamativo (!
) contrassegnare davanti alla password crittografata. Quando il campo della password nel /etc/shadow
contiene un punto esclamativo, l'utente non sarà in grado di accedere al sistema utilizzando l'autenticazione tramite password. Sono ancora consentiti altri metodi di accesso, come l'autenticazione basata su chiave o il passaggio all'utente. Se desideri bloccare l'account e disabilitare tutti i metodi di accesso, devi anche impostare la data di scadenza su 1.
Gli esempi seguenti mostrano come bloccare l'utente linuxize
:
sudo usermod -L linuxize
sudo usermod -L -e 1 linuxize
Per sbloccare un utente, esegui usermod
con il -U
opzione:
usermod -U USER
Conclusione #
Ti abbiamo mostrato come usare usermod
comando per impostare le informazioni sull'account utente.
Sentiti libero di lasciare un commento in caso di domande.