GNU/Linux >> Linux Esercitazione >  >> Linux

Come creare utenti utilizzando il comando Useradd in Linux

Nei sistemi operativi simili a Linux e Unix, il comando più comune per creare utenti è "useradd" o "adduser". In qualità di amministratore di sistema, spesso è necessario aggiungere utenti, rimuovere utenti, creare gruppi e assegnare utenti.

Non c'è differenza tra i due comandi sopra menzionati in termini di funzionalità. Il comando adduser è più semplice e alcuni amministratori Debian/Ubuntu adorano usarlo. Useradd è compilato in binario con il sistema Linux e funziona come backend per adduser.

In questo tutorial impariamo come creare utenti in Linux dal terminale usando il comando useradd.

Aggiungi comando e sintassi dell'utente

La riga seguente mostra la sintassi per il comando useradd:

useradd [OPTIONS] username

Un utente può essere aggiunto semplicemente fornendo il nome utente seguito dal comando. Dovresti eseguire useradd comando con privilegio utente root o sudo.

Impariamo di più su useradd comando e le sue opzioni.

1) Come creare un nuovo utente in Linux

Come accennato in precedenza, per creare un nuovo utente utilizziamo il comando useradd.

Il comando seguente crea un nuovo utente chiamato 'bill' e il secondo comando imposta all'utente ('bill') una nuova password.

$ sudo useradd bill
$ sudo passwd bill

Questo crea l'utente con la directory Home come /home/bill e copia i file dalla directory '/etc/skel' alla directory home dell'utente.

$ ls -al /home/bill/
total 20
drwx------. 2 bill bill 4096 Mar  9 06:49 .
drwxr-xr-x. 4 root root 4096 Mar  9 06:49 ..
-rw-r--r--. 1 bill bill   18 Nov  8 16:21 .bash_logout
-rw-r--r--. 1 bill bill  141 Nov  8 16:21 .bash_profile
-rw-r--r--. 1 bill bill  312 Nov  8 16:21 .bashrc

Questo comando aggiunge una voce ai file /etc/passwd, /etc/shadow, /etc/group e /etc/gshadow.

Nota:sulla distribuzione correlata a Ubuntu e Debian useradd non creerà una home directory predefinita a meno che non sia necessario specificare con le opzioni. Invece, Debian consiglia di usare il comando adduser.

2) Crea un utente con una directory home specifica

Per creare un utente con una directory home specifica come valore per l'accesso utente, utilizzare -d opzione. Assicurati di creare la directory home di base usando il comando mkdir prima di eseguire il comando.

Creiamo la home directory di base chiamata 'devops':

$ sudo mkdir /devops

Ora il comando seguente crea l'utente 'fattura' e imposta la sua home directory come '/devops/billhome'.

$ sudo useradd -d /devops/billhome bill
Output
$ sudo useradd -d /devops/billhome bill
$ ls -al /devops/billhome
total 12
drwxr-xr-x  2 bill bill  100 Dec 31 05:13 .
drwxr-xr-x 17 root root 3680 Dec 31 05:13 ..
-rw-r--r--  1 bill bill  220 Apr  4  2018 .bash_logout
-rw-r--r--  1 bill bill 3771 Apr  4  2018 .bashrc
-rw-r--r--  1 bill bill  807 Apr  4  2018 .profile

Puoi usare una combinazione di entrambi -m (crea una home directory se non esiste) e -d (imposta il percorso specificato come nome della directory di accesso dell'utente) per creare un utente.

$ sudo useradd -m -d /home/bobhome bob

3) Creazione di un utente con ID utente specifico

Per impostazione predefinita, quando crei un utente, assegna il successivo UID disponibile definito nel file login.defs. Ma usando -u opzione puoi creare un utente con un UID specifico.

Nell'esempio seguente la fattura utente viene creata con un UID specifico (3210).

$ useradd -u 3210 bill 
$ grep bill /etc/passwd bill:x:3210:3210::/home/bill:/bin/bash

L'UID può essere visualizzato nel file '/etc/passwd' come mostrato nell'output sopra.

4) Crea utente con una shell di accesso specifica

A volte abbiamo bisogno di creare un utente con una shell di login specifica (come ksh, tcsh, zsh, ecc.) o senza login di shell ('/sbin/nologin').

Possiamo specificare la shell di accesso associata all'account dell'utente con -s opzione come mostrato di seguito:

$ useradd -s /bin/tcsh bill

Puoi verificare la shell di accesso grepping del nome utente dal file /etc/passwd:

$ grep bill /etc/passwd bill:x:504:505::/home/bill:/bin/tcsh

5) Creare una directory home di base specifica

Per impostazione predefinita, le directory home degli utenti si trovano nella directory '/home' (variabile nella directory /etc/default/useradd ). Usando -b opzione puoi avere una directory home di base diversa per il nuovo utente.

Il comando seguente imposta la directory '/mnt' come directory di base e crea una directory home dell'utente 'bill' come '/mnt/bill'.

$ useradd -b /mnt bill 
$ grep bill /etc/passwd bill:x:504:505::/mnt/bill:/bin/bash

6) Crea un utente con una data di scadenza

Durante la creazione di un nuovo utente puoi impostare una data di scadenza per l'account utente utilizzando -e opzione.

L'esempio seguente imposta la data di scadenza (il formato della data è AAAA-MM-GG ) per la "fattura" dell'utente.

$ sudo useradd -e 2013-06-23 bill

Questo può essere verificato controllando l'ultimo campo del file '/etc/shadow'. L'ultimo campo (15879) mostra la data di scadenza in termini di numero di giorni dal 1 gennaio 1970 in cui l'account è stato disattivato.

$ sudo grep bill /etc/shadow bill:!!:15813:0:99999:7::15879:

Un modo più semplice per verificare la data di scadenza dell'utente è utilizzare il comando chage come mostrato di seguito:

$ sudo chage -l bill
Last password change                                    : Feb 10, 2013
Password expires                                        : never
Password inactive                                       : never
Account expires                                         : Jun 23, 2013
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

Il -f l'opzione fornisce il numero di giorni dopo la scadenza di una password prima che l'account venga disabilitato in modo permanente. Il valore di 0 disabilita l'account non appena la password è scaduta.

$ sudo useradd -f 20 bill

Come mostrato nel file shadow, il numero di giorni è impostato su 20 (nella penultima colonna).

$ sudo grep bill /etc/shadow bill:!!:15813:0:99999:7:20::

7) Creazione di un utente e aggiunta a più gruppi

Ogni utente in Linux dovrebbe rimanere in un gruppo primario e zero o più gruppi secondari (gruppo supplementare).

Il gruppo principale di un utente a cui appartiene può essere impostato con l'opzione -g. Il gruppo fornito con questa opzione deve esistere già.

$ sudo useradd -g xero bill
$ sudo id bill uid=504(bill) gid=505(xero) groups=505(xero) context=root:system_r:unconfined_t:SystemLow-SystemHigh

Il gruppo può essere verificato con il comando id. Il -G l'opzione viene utilizzata per aggiungere un utente a gruppi aggiuntivi.

$ sudo useradd -G g1,g2,g3 bill

$ sudo id bill uid=504(bill) gid=509(bill) groups=509(bill),506(g1),507(g2),508(g3) context=root:system_r:unconfined_t:SystemLow-SystemHigh

Verifichiamo come creare un utente e assegnarlo a più gruppi. Il comando creerà un nuovo utente chiamato "fattura" con il gruppo principale "team" e i gruppi secondari "admin" e "apache".

$ sudo useradd -g teams -G admin,apache bill

8) Crea ID utente duplicato

Il -o l'opzione consente di creare un account utente con un ID utente duplicato (non univoco). Devi fornire un numero UID con -u opzione.

Controlla il seguente esempio:

$ sudo useradd -o -u 503 bill

Qui possiamo vedere che esistono due account con ID 503.

$ sudo grep 503 /etc/passwd 
jenny:x:503:503::/home/jenny:/bin/bash 
bill:x:503:505::/home/bill:/bin/bash

9) Crea un utente come account di sistema

Normalmente, gli UID fino a 500 o 1000 sono riservati agli account di sistema e non sono assegnati agli utenti normali. Con -r opzione, all'utente in fase di creazione viene fornito un account con ID nell'intervallo degli utenti del sistema.

$ sudo useradd -r bill 
$ sudo grep bill /etc/passwd bill:x:101:102::/home/bill:/bin/bash

Qui non viene creata la home directory per l'utente. Deve essere creato manualmente o fornito con -m opzione.

10) Crea un utente senza Home directory

Se desideri non creare una home directory da solo, -M opzione può essere data.

$ sudo useradd -M bill 
$ sudo grep bill /etc/passwd 
bill:x:504:505::/home/bill:/bin/bash
$ ls /home/bill 
ls: /home/bill: No such file or directory

Nell'output del comando ls, si può vedere che la home directory per l'utente della fattura non esiste.

11) Crea un utente con password

La password dell'utente è disabilitata per impostazione predefinita. È possibile impostare manualmente la password utilizzando il comando passwd. Ma se vuoi fornire la password al momento della creazione dell'utente, puoi usare -p opzione.

Ma la password fornita qui deve essere crittografata, come restituito da crypt(3).

$ sudo useradd -p '$1$ZsQB81$RCCVDuI5VR6q905nUPz4a/' bill

12) Modifica delle opzioni predefinite

Quando un utente viene aggiunto a un sistema, alcuni valori vengono presi come predefiniti, ad esempio shell, directory di base, ecc. La directory di base è la directory in cui risiedono le directory home degli utenti. Sulla maggior parte dei sistemi Linux, le home directory degli utenti risiedono nella directory /home.

Ad esempio, la directory home dell'utente tom sarà '/home/tom' per impostazione predefinita. Quindi /home sarà la sua directory di base. Queste opzioni predefinite sono definite nel file '/etc/defaults/useradd'. Queste impostazioni predefinite possono essere visualizzate con -D opzione per aggiungere il comando:

$ sudo useradd -D GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/sh SKEL=/etc/skel CREATE_MAIL_SPOOL=no

Il comando sopra può essere eseguito anche da utenti normali (utenti non root). Il -D l'opzione viene utilizzata non solo per visualizzare i valori predefiniti, ma anche per modificare i valori predefiniti.

13) Crea un utente con un commento personalizzato

Possiamo fornire il nome completo o una breve descrizione dell'utente (un commento) durante la creazione di un utente. Devi usare -c opzione per aggiungere commenti personalizzati.

Lascia che ti mostri un esempio:

$ sudo useradd -c "Bill Drape" bill

Questo commento può essere visualizzato nella voce dell'utente nel file '/etc/passwd'.

$ sudo grep bill /etc/passwd bill:x:504:505:Bill Drape:/home/bill:/bin/bash

Conclusione

In questo tutorial, abbiamo imparato come creare utenti in Linux e diverse opzioni del comando useradd. Spero che ti sia piaciuto leggere e per favore lascia i tuoi suggerimenti nella sezione commenti qui sotto.


Linux
  1. Come creare più account utente in Linux

  2. Come eliminare/rimuovere utenti in Linux utilizzando il comando userdel

  3. Come creare uno script di un comando Linux

  4. Come gestire gli utenti con useradd in Linux

  5. Come creare snapshot del filesystem utilizzando Snapper Command su Linux

Come creare un collegamento simbolico in Linux usando il comando Ln

Come creare utenti utilizzando il comando Useradd in Linux

Come creare un alias in Linux

Aggiunta di nuovi utenti in Linux con il comando Useradd

Come creare e gestire nuovi utenti su Linux

Come creare/aggiungere utenti in Linux