GNU/Linux >> Linux Esercitazione >  >> Linux

Come gestire gli utenti con useradd in Linux

aggiunta utente command è un'utilità di basso livello utilizzata per aggiungere/creare account utente in Linux e altri simile a Unix sistemi operativi.

Linux è un sistema multiutente, il che significa che più persone possono interagire con lo stesso sistema contemporaneamente. Questi utenti devono essere creati prima di utilizzare il sistema.

Quando viene richiamato, useradd crea un nuovo account utente in base alle opzioni specificate nella riga di comando e ai valori predefiniti impostati in /etc/default/useradd file. useradd legge anche il contenuto di /etc/login.defs file. Questo file contiene la configurazione per la suite di password shadow come la politica di scadenza delle password, gli intervalli di ID utente utilizzati durante la creazione di utenti regolari e di sistema e altro ancora.

Solo il root o gli utenti con privilegi sudo possono utilizzare il comando useradd per creare un nuovo account utente. Quando viene richiamato, useradd crea un nuovo account utente in base alle opzioni specificate nella riga di comando e ai valori predefiniti impostati in /etc/default/useradd file.

  • Modifica /etc/passwd , /etc/shadow , /etc/group e /etc/gshadow file per gli account utente appena creati.
  • Crea e popola una home directory per il nuovo utente.
  • Imposta autorizzazioni e proprietà sulla home directory.

Indice dei contenuti

  1. Crea un nuovo utente
  2. Aggiungi un nuovo utente e crea la home directory
  3. Crea un utente con una directory principale diversa
  4. Utente con un ID utente specifico
  5. Utente con un ID utente specifico
  6. Aggiungi un utente a più gruppi
  7. Utente senza Home Directory
  8. Utente con data di scadenza dell'account
  9. Utente con data di scadenza della password
  10. Aggiunta di commenti personalizzati all'utente
  11. Specifica di una shell di accesso utente
  12. Creazione di un utente di sistema
  13. Concatenare gli argomenti
  14. Modifica dei valori useradd predefiniti
  15. Eliminazione di un utente da Linux
  16. Aggiunta di un gruppo in Linux
  17. Cambia il gruppo di utenti

1. Crea un nuovo utente

Sintassi di base di useradd il comando è:

# sudo useradd [options] username

Esempio:

sudo useradd citizix

Quando aggiungiamo un nuovo utente in Linux con useradd comando, viene creato in uno stato bloccato e per sbloccare quell'account utente, dobbiamo impostare una password per quell'account con passwd comando.

$ sudo passwd citizix
Changing password for user citizix.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

Una voce viene aggiunta automaticamente a /etc/passwd file:

$ cat /etc/passwd | grep citizix
citizix:x:1001:1001::/home/citizix:/bin/bash

I campi in /etc/passwd sono separati da due punti : e rappresentano quanto segue:

  • Nome utente :Nome di accesso utente utilizzato per accedere al sistema. Dovrebbe essere lungo tra 1 e 32 caratteri.
  • Password :password utente (o carattere x) memorizzata in /etc/shadow file in formato crittografato.
  • ID utente (UID) :ogni utente deve avere un ID utente (UID ) Numero di identificazione dell'utente. Per impostazione predefinita, UID 0 è riservato all'utente root e agli UID compresi tra 1-99 sono riservati ad altri account predefiniti. Ulteriori UID che vanno da 100-999 sono riservati agli account di sistema e ai gruppi.
  • ID gruppo (GID) :l'ID gruppo principale (GID ) Numero di identificazione del gruppo memorizzato in /etc/group file.
  • Informazioni utente :questo campo è facoltativo e consente di definire informazioni aggiuntive sull'utente. Ad esempio, il nome completo dell'utente. Questo campo è riempito dal comando 'dito'.
  • Home Directory :la posizione assoluta della home directory dell'utente.
  • Conchiglia :la posizione assoluta della shell di un utente, ad esempio /bin/bash .

2. Aggiungi un nuovo utente e crea Home Directory

Usa il -m (--create-home ) opzione per creare la directory home dell'utente come /home/username :

sudo useradd -m username

Il comando sopra crea la directory home del nuovo utente e copia i file da /etc/skel directory nella directory home dell'utente.

3. Crea un utente con una directory principale diversa

Per impostazione predefinita, useradd creerà una home directory con lo stesso nome del nome utente. Per creare una directory home diversa usa -d argomento con il percorso di quella directory.

Questo comando crea la directory home /opt/citizixone per l'utente citizixone.

sudo useradd -d /opt/citizixone citizixone

Controlla in /etc/passwd

$ cat /etc/passwd | grep citizixone
citizixone:x:1002:1002::/opt/citizixone:/bin/bash

4. Utente con un ID utente specifico

Se è necessario specificare un ID utente per l'utente creato, utilizzare l'argomento -u (--uid ) in questo modo:

sudo useradd -u 1009 citizix

5. ID gruppo specifico

Per specificare un ID gruppo, usa -g (--gid ) opzione come in questo esempio:

sudo useradd -g citizix citizixtwo

Verifica il GID dell'utente con questo comando:

$ sudo id citizixtwo
uid=1003(citizixtwo) gid=1001(citizix) groups=1001(citizix)

$ cat /etc/passwd | grep citizixtwo
citizixtwo:x:1003:1001::/home/citizixtwo:/bin/bash

6. Aggiungi un utente a più gruppi

Se vuoi aggiungere un utente a più gruppi, usa il -G (--groups ) opzione come in questo esempio:

Aggiungi l'utente citizix ai gruppi admins , webadmin , developers :

sudo usermod -a -G admins,webadmin,developers citizix

Crea un utente citizixtwo aggiungendolo ai gruppi admins , webadmin , developers :

sudo useradd -G admins,webadmin,developers citizix

Utilizzare questi comandi per verificare che gli utenti siano stati aggiunti correttamente ai gruppi:

sudo id citizix
sudo id citizixtwo

7. Utente senza Home Directory

Se vuoi creare un utente senza una home directory, usa il -M opzione:

sudo useradd -M citizix

8. Utente con data di scadenza dell'account

A volte vuoi creare un utente con data di scadenza. Usa questo comando per creare un utente citizixfour che scadrà il 2021-12-30 :

sudo useradd -e 2021-12-30 citizixfour

Per verificare l'età dell'account e della password usa il chage comando:

$ sudo chage -l citizixfour
Last password change                    : Oct 08, 2021
Password expires                    : never
Password inactive                   : never
Account expires                     : Dec 30, 2021
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

9. Utente con data di scadenza della password

Il -f argomento viene utilizzato per definire il numero di giorni di inattivazione dell'utente dopo la scadenza di una password. Un valore di 0 disattivare l'account utente non appena la password è scaduta. Per impostazione predefinita, il valore di scadenza della password è impostato su -1 significa non scadere mai.

In questo esempio, imposteremo una data di scadenza della password dell'account su 45 days su un utente citizixfive usando -e e -f opzioni.

sudo useradd -e 2021-12-30 -f 45 citizixfive
sudo chage -l citizixfive

10. Aggiunta di commenti personalizzati all'utente

Il -c (--comment ) aggiunge una breve descrizione per il nuovo utente. In genere il nome completo dell'utente o le informazioni di contatto vengono aggiunti come commento.

sudo useradd -c "Citizix User" citizixsix

Controlla il /etc/passwd

$ cat /etc/passwd | grep citizixsix
citizixsix:x:1006:1006:Citizix User:/home/citizixsix:/bin/bash

11. Specifica di una shell di accesso utente

Il -s (--shell ) viene utilizzata per specificare una shell di accesso. Possiamo usare una delle shell installate come /bin/bash o bin/zsh o per gli utenti che non hanno nulla a che fare con la shell di accesso possiamo fare /sbin/nologin per specificare che non esiste una shell di accesso:

# Specify /bin/zsh
sudo useradd -s /bin/zsh citizix

# Specify no login
sudo useradd -s /sbin/nologin citizix

12. Creazione di un utente di sistema

A volte abbiamo bisogno di utenti di sistema che verranno utilizzati dal sistema o dalle applicazioni che installiamo nel sistema.
Utilizza il -r (--system ) argomento per definire un utente di sistema:

sudo useradd -r grafana

13. Concatenare gli argomenti

Possiamo anche concatenare gli argomenti durante la creazione di un utente.

Controlla questo esempio creando un utente durante la creazione di una directory home specificata /var/www/citizix e definire una shell di accesso personalizzata /bin/zsh e aggiungendo un commento Citizix Web User :

sudo useradd -m -d /var/www/citizix -s /bin/zsh -c "Citizix Web User" -U citizix

14. Modifica dei valori di aggiunta utente predefiniti

Il useradd le impostazioni predefinite sono memorizzate nel file /etc/default/useradd .

Verifica il contenuto di /etc/default/useradd :

$ cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

Puoi anche interrogarli usando l'argomento -D per useradd comando:

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

Per aggiornare o modificare questi valori, modificare il file o utilizzare useradd -D passando i valori.

Esempio di modifica della shell di accesso da /bin/bash a /bin/zsh

sudo useradd -D -s /bin/zsh

Verifichiamo che sia stato aggiornato:

$ sudo useradd -D | grep -i shell
SHELL=/bin/zsh

15. Eliminazione di un utente da Linux

Per eliminare un utente, usa userdel comando:

sudo userdel citizixfive

16. Aggiunta di un gruppo in Linux

Per creare manualmente un gruppo, usa il comando.

Questo crea un gruppo sftp-users nel nostro sistema:

sudo groupadd sftp-users

Confermiamo che il gruppo è stato creato

$ sudo grep sftp-users /etc/group
sftp-users:x:1007:

Usa il comando -G per altri gruppi (-G aggiunge l'utente a un nuovo gruppo ma lo mantiene anche in quello vecchio (aggiungi).

Usa l'id comando per confermare

sudo id citizix

17. Cambia il gruppo di utenti

Per creare un utente e cambiare il suo gruppo principale in quello specificato, usa -g opzione:

sudo useradd -g citizix citizixseven

Conclusione

Abbiamo esplorato come eseguire operazioni di base con useradd comandi. Siamo riusciti a creare utenti, aggiungerli a gruppi e modificarli o eliminarli.

Puoi usare le manpage per saperne di più sul comando useradd:

man useradd

Per controllare tutte le opzioni per useradd, digita il comando nel terminale senza opzione:

$ useradd
Usage: useradd [options] LOGIN
       useradd -D
       useradd -D [options]

Options:
  -b, --base-dir BASE_DIR       base directory for the home directory of the
                                new account
  -c, --comment COMMENT         GECOS field of the new account
  -d, --home-dir HOME_DIR       home directory of the new account
  -D, --defaults                print or change default useradd configuration
  -e, --expiredate EXPIRE_DATE  expiration date of the new account
  -f, --inactive INACTIVE       password inactivity period of the new account
  -g, --gid GROUP               name or ID of the primary group of the new
                                account
  -G, --groups GROUPS           list of supplementary groups of the new
                                account
  -h, --help                    display this help message and exit
  -k, --skel SKEL_DIR           use this alternative skeleton directory
  -K, --key KEY=VALUE           override /etc/login.defs defaults
  -l, --no-log-init             do not add the user to the lastlog and
                                faillog databases
  -m, --create-home             create the user's home directory
  -M, --no-create-home          do not create the user's home directory
  -N, --no-user-group           do not create a group with the same name as
                                the user
  -o, --non-unique              allow to create users with duplicate
                                (non-unique) UID
  -p, --password PASSWORD       encrypted password of the new account
  -r, --system                  create a system account
  -R, --root CHROOT_DIR         directory to chroot into
  -P, --prefix PREFIX_DIR       prefix directory where are located the /etc/* files
  -s, --shell SHELL             login shell of the new account
  -u, --uid UID                 user ID of the new account
  -U, --user-group              create a group with the same name as the user
  -Z, --selinux-user SEUSER     use a specific SEUSER for the SELinux user mapping

Linux
  1. Gestisci le home directory degli utenti Linux con systemd-homed

  2. Come creare più account utente in Linux

  3. Aggiungi utente al gruppo in Linux, come farlo (con esempi)

  4. Gestisci utenti Linux e gruppi Linux

  5. Come lavorare con utenti e gruppi in Linux

Come creare utenti utilizzando il comando Useradd in Linux

Come gestire le versioni di Nodejs con n in Linux

Aggiunta di nuovi utenti in Linux con il comando Useradd

Come creare e gestire nuovi utenti su Linux

Come gestire l'archiviazione con GParted Linux

Come creare/aggiungere utenti in Linux