Ricerca nel sito web

Una guida completa all'uso del comando 'usermod' - 15 esempi pratici con schermate


Nelle distribuzioni Unix/Linux, il comando "usermod" viene utilizzato per modificare o cambiare qualsiasi attributo di un account utente già creato tramite la riga di comando. Il comando "usermod" è simile a "useradd" o "adduser" ma il login è concesso a un utente esistente.

Il comando "useradd" o "adduser" viene utilizzato per creare account utente nei sistemi Linux. Per saperne di più su come creare utenti di sistema, leggi la nostra guida completa su:

  1. Una guida completa al comando "useradd" in Linux

Dopo aver creato gli account utente, in alcuni scenari in cui è necessario modificare gli attributi di un utente esistente, ad esempio modificare la directory home dell'utente, il nome di accesso, la shell di accesso, la data di scadenza della password, ecc., dove in tal caso viene utilizzato il comando "usermod".

Quando eseguiamo il comando "usermod" nel terminale, vengono utilizzati e interessati i seguenti file.

  1. /etc/passwd – Informazioni sull'account utente.
  2. /etc/shadow: protegge le informazioni sull'account.
  3. /etc/group – Informazioni sull'account del gruppo.
  4. /etc/gshadow: protegge le informazioni dell'account di gruppo.
  5. /etc/login.defs – Configurazione della suite di password shadow..

La sintassi di base del comando è:

usermod [options] username

Requisiti

  1. Dobbiamo avere account utente esistenti per eseguire il comando usermod.
  2. Solo il superutente (root) può eseguire il comando usermod.
  3. Il comando usermod può essere eseguito su qualsiasi distribuzione Linux.
  4. Deve avere una conoscenza di base del comando usermod con opzioni

Opzioni di Usermod

Il comando "usermod" è semplice da usare con molte opzioni per apportare modifiche a un utente esistente. Vediamo come utilizzare il comando usermod modificando alcuni utenti esistenti in Linux box con l'aiuto delle seguenti opzioni.

  1. -c=Possiamo aggiungere un campo commento per l'account utente.
  2. -d=Per modificare la directory per qualsiasi account utente esistente.
  3. -e=Utilizzando questa opzione possiamo far scadere l'account in un periodo specifico.
  4. -g=Cambia il gruppo primario per un Utente.
  5. -G=Per aggiungere gruppi supplementari.
  6. -a=Per aggiungere qualcuno del gruppo a un gruppo secondario.
  7. -l=Per modificare il nome di accesso da tecmint a tecmint_admin.
  8. -L=Per bloccare l'account utente. Ciò bloccherà la password in modo da non poter utilizzare l'account.
  9. -m=sposta il contenuto della directory home dalla directory home esistente alla nuova directory.
  10. -p=Per utilizzare una password non crittografata per la nuova password. (NON protetto).
  11. -s=Crea una shell specificata per i nuovi account.
  12. -u=Utilizzato per l'UID assegnato all'account utente compreso tra 0 e 999.
  13. -U=Per sbloccare gli account utente. Ciò rimuoverà il blocco della password e ci consentirà di utilizzare l'account utente.

In questo articolo vedremo "15 comandi usermod" con i loro esempi pratici e il loro utilizzo in Linux, che ti aiuteranno ad apprendere e migliorare le tue abilità da riga di comando utilizzando queste opzioni.

1. Aggiunta di informazioni all'account utente

L'opzione "-c" viene utilizzata per impostare un breve commento (informazioni) sull'account utente. Ad esempio, aggiungiamo le informazioni sull'utente "tecmint", utilizzando il seguente comando.

usermod -c "This is Tecmint" tecmint

Dopo aver aggiunto le informazioni sull'utente, lo stesso commento può essere visualizzato nel file /etc/passwd.

grep -E --color 'tecmint' /etc/passwd

tecmint:x:500:500:This is Tecmint:/home/tecmint:/bin/sh

2. Modifica la directory principale dell'utente

Nel passaggio precedente possiamo vedere che la nostra directory home è sotto /home/tecmint/. Se dobbiamo cambiarla in un'altra directory possiamo cambiarla usando -d opzione con il comando usermod.

Ad esempio, voglio cambiare la nostra directory home in /var/www/, ma prima di cambiare, controlliamo la directory home corrente di un utente, utilizzando il seguente comando.

grep -E --color '/home/tecmint' /etc/passwd

tecmint:x:500:500:This is Tecmint:/home/tecmint:/bin/sh

Ora cambia la directory home da /home/tecmint a /var/www/ e conferma la directory home dopo la modifica.

usermod -d /var/www/ tecmint
grep -E --color '/var/www/' /etc/passwd

tecmint:x:500:500:This is Tecmint:/var/www:/bin/sh

3. Imposta la data di scadenza dell'account utente

L'opzione "-e" viene utilizzata per impostare la data di scadenza su un account utente con il formato della data AAAA-MM-GG. Prima di impostare una data di scadenza per un utente, controlliamo innanzitutto lo stato di scadenza dell'account corrente utilizzando il comando "chage" (cambia le informazioni sulla scadenza della password dell'utente).

chage -l tecmint

Last password change					: Nov 02, 2014
Password expires					: never
Password inactive					: never
Account expires						: Dec 01, 2014
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

Lo stato di scadenza di un utente 'tecmint' è 1 dicembre 2014, cambiamolo in 1 novembre 2014 utilizzando 'usermod -e ' e conferma la data di scadenza con il comando 'chage'.

usermod -e 2014-11-01 tecmint
chage -l tecmint

Last password change					: Nov 02, 2014
Password expires					: never
Password inactive					: never
Account expires						: Nov 01, 2014
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

4. Modifica gruppo primario utente

Per impostare o modificare un gruppo primario di utenti, utilizziamo l'opzione "-g" con il comando usermod. Prima di modificare il gruppo primario dell'utente, assicurati di controllare il gruppo corrente per l'utente tecmint_test.

id tecmint_test

uid=501(tecmint_test) gid=502(tecmint_test) groups=502(tecmint_test)

Ora imposta il gruppo babin come gruppo primario sull'utente tecmint_test e conferma le modifiche.

usermod -g babin tecmint_test
id tecmint_test

uid=501(tecmint_test) gid=502(babin) groups=502(tecmint_test)

5. Aggiunta di un gruppo a un utente esistente

Se desideri aggiungere un nuovo gruppo chiamato 'tecmint_test0' all'utente 'tecmint', puoi utilizzare l'opzione '-G' con il comando usermod come mostrato di seguito.

usermod -G tecmint_test0 tecmint
id tecmint

Nota: fai attenzione, mentre aggiungi un nuovo gruppo a un utente esistente con la sola opzione '-G', rimuoverai tutti i gruppi esistenti che l'utente appartiene. Quindi, aggiungi sempre l'opzione "-a" (aggiungi) con l'opzione "-G" per aggiungere o aggiungere nuovi gruppi.

6. Aggiunta del gruppo supplementare e primario all'utente

Se devi aggiungere un utente a uno qualsiasi dei gruppi supplementari, puoi utilizzare le opzioni "-a" e "-G". Ad esempio, qui aggiungeremo un account utente tecmint_test0 con l'utente wheel.

usermod -a -G wheel tecmint_test0
id tecmint_test0

Quindi l'utente tecmint_test0 rimane nel suo gruppo primario e anche nel gruppo secondario (wheel). Ciò consentirà al mio normale account utente di eseguire qualsiasi comando con privilegi root nella macchina Linux.

eg : sudo service httpd restart

7. Modifica nome accesso utente

Per modificare qualsiasi nome di accesso utente esistente, possiamo utilizzare l'opzione "-l" (nuovo accesso). Nell'esempio seguente, stiamo cambiando il nome di accesso tecmint in tecmint_admin. Quindi il nome utente tecmint è stato rinominato con il nuovo nome tecmint_admin.

usermod -l tecmint_admin tecmint

Ora controlla l'utente tecmint. Non sarà presente perché lo abbiamo cambiato in tecmint_admin.

id tecmint

Controlla che l'account tecmint_admin sarà presente con lo stesso UID e con il gruppo esistente che abbiamo aggiunto in precedenza.

id tecmint_admin

8. Blocca l'account utente

Per bloccare qualsiasi account utente di sistema, possiamo utilizzare l'opzione '-L' (blocco). Dopo che l'account è bloccato non possiamo accedere utilizzando la password e vedrai un ! aggiunto prima della password crittografata nel file /etc/shadow, significa password disabilitata.

usermod -L babin

Controlla l'account bloccato.

grep -E --color 'babin' cat /etc/shadow

9. Sblocca l'account utente

L'opzione "-U" viene utilizzata per sbloccare qualsiasi utente bloccato, questo rimuoverà ! prima della password crittografata.

grep -E --color 'babin' /etc/shadow
usermod -U babin

Verifica l'utente dopo lo sblocco.

grep -E --color 'babin' /etc/shadow

10. Sposta la directory Home dell'utente nella nuova posizione

Supponiamo che tu abbia un account utente come "pinky" con la directory home "/home/pinky", desideri spostarti in una nuova posizione dicendo "/var /mignolo'. Puoi utilizzare le opzioni "-d" e "-m" per spostare i file utente esistenti dalla directory home corrente a una nuova directory home.

Controlla l'account e la sua directory home corrente.

grep -E --color 'pinky' /etc/passwd

Quindi elenca i file di proprietà dell'utente pinky.

ls -l /home/pinky/

Ora dobbiamo spostare la directory home da /home/pinky a /var/pinky.

usermod -d /var/pinky/ -m pinky

Successivamente, verifica la modifica della directory.

grep -E --color 'pinky' /etc/passwd

Controlla i file in "/home/pinky". Qui abbiamo spostato i file utilizzando l'opzione -m quindi non ci saranno file. I file utente di pinky si troveranno ora in /var/pinky.

ls -l /home/pinky/
ls -l /var/pinky/

11. Crea una password non crittografata per l'utente

Per creare una password non crittografata, utilizziamo l'opzione "-p" (password). A scopo dimostrativo, sto impostando una nuova password, ad esempio "redhat", su un utente pinky.

usermod -p redhat pinky

Dopo aver impostato la password, controlla il file shadow per vedere se è in formato crittografato o non crittografato.

grep -E --color 'pinky' /etc/shadow

Nota: hai visto nell'immagine sopra, la password è chiaramente visibile a tutti. Pertanto, non è consigliabile utilizzare questa opzione, poiché la password sarà visibile a tutti gli utenti.

12. Cambia shell utente

La shell di accesso dell'utente può essere modificata o definita durante la creazione dell'utente con il comando useradd o modificata con il comando 'usermod' utilizzando l'opzione '-s' ( conchiglia). Ad esempio, l'utente "babin" ha la shell /bin/bash per impostazione predefinita, ora voglio cambiarla in /bin/sh .

grep -E --color 'babin' /etc/passwd
usermod -s /bin/sh babin

Dopo aver modificato la shell utente, verificare la shell utente utilizzando il comando seguente.

grep -E --color 'babin' /etc/passwd

13. Modifica ID utente (UID)

Nell'esempio seguente, puoi vedere che il mio account utente "babin" contiene l'UID di 502, ora voglio cambiarlo in 888 come mio UID. Possiamo assegnare un UID compreso tra 0 e 999.

grep -E --color 'babin' /etc/passwd
OR
id babin

Ora modifichiamo l'UID per l'utente babin utilizzando l'opzione "-u" (uid) e verifichiamo le modifiche.

usermod -u 888 babin
id babin

14. Modifica dell'account utente con più opzioni

Qui abbiamo un utente jack e ora voglio modificare la sua directory home, la shell, la data di scadenza, l'etichetta, l'UID e il gruppo contemporaneamente utilizzando un singolo comando con tutte le opzioni come discusso sopra.

L'utente Jack ha la directory home predefinita /home/jack, ora voglio cambiarla in /var/www/html e assegnargli la shell come bash, imposta la data di scadenza al 10 dicembre 2014, aggiungi una nuova etichetta come Questo è Jack, cambia l'UID in 555 e sarà membro del gruppo Apple.

Vediamo ora come modificare il conto jack utilizzando l'opzione multipla.

usermod -d /var/www/html/ -s /bin/bash -e 2014-12-10 -c "This is Jack" -u 555 -aG apple jack

Quindi controlla le modifiche all'UID e alla directory home.

grep -E --color 'jack' /etc/passwd

Controllo della scadenza dell'account.

chage -l jack

Controlla il gruppo di cui sono stati membri tutti i jack.

grep -E --color 'jack' /etc/group

15. Modifica UID e GID di un Utente

Possiamo cambiare UID e GID di un utente corrente. Per passare a un nuovo GID abbiamo bisogno di un gruppo esistente. Qui c'è già un account chiamato orange con GID di 777.

Ora al mio account utente jack voglio che venga assegnato l'UID di 666 e il GID di Orange (777).

Verificare l'UID e il GID correnti prima della modifica.

id jack

Modificare l'UID e il GID.

usermod -u 666 -g 777 jack

Controlla le modifiche.

id jack

Conclusione

Qui abbiamo visto come utilizzare il comando usermod con le sue opzioni in modo molto dettagliato. Prima di conoscere il comando usermod, è necessario conoscere il comando "useradd" e le sue opzioni per utilizzare usermod. Se ho perso qualche punto dell'articolo fatemelo sapere tramite i commenti e non dimenticare di aggiungere i tuoi preziosi commenti.