GNU/Linux >> Tutoriels Linux >  >> Linux

Comment créer des utilisateurs à l'aide de la commande Useradd sous Linux

Dans les systèmes d'exploitation Linux et Unix, la commande la plus courante pour créer des utilisateurs est 'useradd' ou 'adduser'. En tant qu'administrateur système, il est souvent nécessaire d'ajouter des utilisateurs, de supprimer des utilisateurs, de créer des groupes et d'attribuer des utilisateurs.

Il n'y a pas de différence entre les deux commandes mentionnées ci-dessus en termes de fonctionnalités. La commande adduser est plus conviviale et certains administrateurs Debian/Ubuntu adorent l'utiliser. Useradd est compilé en binaire avec le système Linux et fonctionne comme un backend pour adduser.

Dans ce didacticiel, nous apprenons à créer des utilisateurs sous Linux à partir du terminal à l'aide de la commande useradd.

Commande et syntaxe Useradd

La ligne suivante montre la syntaxe de la commande useradd :

useradd [OPTIONS] username

Un utilisateur peut être ajouté simplement en donnant le nom d'utilisateur suivi de la commande. Vous devez exécuter useradd commande avec le privilège d'utilisateur root ou sudo.

Apprenons-en plus sur useradd commande et ses options.

1) Comment créer un nouvel utilisateur sous Linux

Comme mentionné ci-dessus, pour créer un nouvel utilisateur, nous utilisons la commande useradd.

La commande suivante crée un nouvel utilisateur nommé 'bill' et la deuxième commande définit un nouveau mot de passe pour l'utilisateur ("bill").

$ sudo useradd bill
$ sudo passwd bill

Cela crée l'utilisateur avec le répertoire d'accueil en tant que /home/bill et copie les fichiers du répertoire '/etc/skel' vers le répertoire personnel de l'utilisateur.

$ 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

Cette commande ajoute une entrée aux fichiers /etc/passwd, /etc/shadow, /etc/group et /etc/gshadow.

Remarque :sur les distributions liées à Ubuntu et Debian, useradd ne créera pas de répertoire personnel par défaut, sauf si vous devez le spécifier avec des options. Au lieu de cela, Debian recommande d'utiliser la commande adduser.

2) Créer un utilisateur avec un répertoire personnel spécifique

Pour créer un utilisateur avec un répertoire personnel spécifique comme valeur pour la connexion de l'utilisateur, utilisez -d option. Assurez-vous de créer le répertoire personnel de base à l'aide de la commande mkdir avant d'exécuter la commande.

Créons le répertoire personnel de base appelé "devops" :

$ sudo mkdir /devops

Maintenant, la commande suivante crée l'utilisateur 'bill' et définit son répertoire personnel comme '/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

Vous pouvez utiliser une combinaison de -m (créer un répertoire personnel s'il n'existe pas) et -d (définir le chemin donné comme nom du répertoire de connexion de l'utilisateur) pour créer un utilisateur.

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

3) Création d'un utilisateur avec un ID utilisateur spécifique

Par défaut, lorsque vous créez un utilisateur, il attribue le prochain UID disponible défini dans le fichier login.defs. Mais en utilisant -u option, vous pouvez créer un utilisateur avec un UID spécifique.

Dans l'exemple suivant, une facture d'utilisateur est créée avec un UID spécifique (3210).

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

L'UID peut être vu dans le fichier '/etc/passwd' comme indiqué dans la sortie ci-dessus.

4) Créer un utilisateur avec un shell de connexion spécifique

Parfois, nous devons créer un utilisateur avec un shell de connexion spécifique (comme ksh, tcsh, zsh, etc.) ou sans connexion au shell ('/sbin/nologin').

Nous pouvons spécifier le shell de connexion associé au compte de l'utilisateur avec -s comme indiqué ci-dessous :

$ useradd -s /bin/tcsh bill

Vous pouvez vérifier le shell de connexion en extrayant le nom d'utilisateur du fichier /etc/passwd :

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

5) Créer un répertoire personnel de base spécifique

Par défaut, les répertoires personnels des utilisateurs sont situés dans le répertoire '/home' (variable dans /etc/default/useradd ). En utilisant -b option, vous pouvez avoir un répertoire personnel de base différent pour le nouvel utilisateur.

La commande suivante définit le répertoire '/mnt' comme répertoire de base et crée un répertoire personnel de l'utilisateur 'bill' en tant que '/mnt/bill'.

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

6) Créer un utilisateur avec une date d'expiration

Lors de la création d'un nouvel utilisateur, pouvez-vous définir une date d'expiration pour le compte d'utilisateur en utilisant -e option.

L'exemple suivant définit la date d'expiration (le format de la date est AAAA-MM-JJ ) pour l'utilisateur 'facture'.

$ sudo useradd -e 2013-06-23 bill

Ceci peut être vérifié en vérifiant le dernier champ du fichier '/etc/shadow'. Le dernier champ (15879) indique la date d'expiration en termes de nombre de jours depuis le 1er janvier 1970, le compte est désactivé.

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

Un moyen plus simple de vérifier la date d'expiration de l'utilisateur consiste à utiliser la commande chage comme indiqué ci-dessous :

$ 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

Le -f L'option fournit le nombre de jours après l'expiration d'un mot de passe jusqu'à ce que le compte soit définitivement désactivé. La valeur de 0 désactive le compte dès que le mot de passe a expiré.

$ sudo useradd -f 20 bill

Comme indiqué dans le fichier shadow, le nombre de jours est défini sur 20 (dans l'avant-dernière colonne).

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

7) Créer un utilisateur et l'ajouter à plusieurs groupes

Chaque utilisateur sous Linux doit rester dans un groupe principal et zéro ou plusieurs groupes secondaires (groupe supplémentaire).

Le groupe principal d'un utilisateur auquel il appartient peut être défini avec l'option -g. Le groupe fourni avec cette option doit déjà exister.

$ 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

Le groupe peut être vérifié avec la commande id. Le -G L'option est utilisée pour ajouter un utilisateur à des groupes supplémentaires.

$ 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

Voyons comment créer un utilisateur et l'affecter à plusieurs groupes. La commande créera un nouvel utilisateur nommé 'bill' avec le groupe principal 'teams' et les groupes secondaires 'admin' et 'apache'.

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

8) Créer un ID utilisateur en double

Le -o L'option permet de créer un compte utilisateur avec un ID utilisateur en double (non unique). Vous devez fournir un numéro UID avec -u option.

Vérifiez l'exemple suivant :

$ sudo useradd -o -u 503 bill

Ici, nous pouvons voir qu'il existe deux comptes avec 503 ID.

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

9) Créer un utilisateur en tant que compte système

Normalement, les UID jusqu'à 500 ou 1000 sont réservés aux comptes système et ne sont pas attribués aux utilisateurs normaux. Avec -r option, un compte avec ID dans la gamme des utilisateurs du système est attribué à l'utilisateur en cours de création.

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

Ici, le répertoire personnel de l'utilisateur n'est pas créé. Il doit être créé manuellement ou fourni avec -m option.

10) Créer un utilisateur sans répertoire personnel

Si vous ne souhaitez pas créer de répertoire personnel par lui-même, -M option peut être donnée.

$ 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

Dans la sortie de la commande ls, on peut voir que le répertoire personnel de l'utilisateur bill n'existe pas.

11) Créer un utilisateur avec un mot de passe

Le mot de passe de l'utilisateur est désactivé par défaut. Vous pouvez définir manuellement le mot de passe à l'aide de la commande passwd. Mais si vous souhaitez fournir le mot de passe au moment de la création de l'utilisateur, vous pouvez utiliser -p option.

Mais le mot de passe fourni ici doit être chiffré, tel que renvoyé par crypt(3).

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

12) Modification des options par défaut

Lorsqu'un utilisateur est ajouté sur un système, certaines valeurs sont prises par défaut, par exemple le shell, le répertoire de base, etc. Le répertoire de base est le répertoire où résident les répertoires personnels des utilisateurs. Sur la plupart des systèmes Linux, les répertoires personnels des utilisateurs résident dans le répertoire /home.

Par exemple, le répertoire personnel de l'utilisateur tom sera '/home/tom' par défaut. Donc /home sera son répertoire de base. Ces options par défaut sont définies dans le fichier '/etc/defaults/useradd'. Ces valeurs par défaut peuvent être visualisées avec -D option à la commande useradd :

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

La commande ci-dessus peut également être exécutée par des utilisateurs normaux (utilisateurs non root). Le -D L'option est utilisée non seulement pour afficher les valeurs par défaut, mais également pour modifier les valeurs par défaut.

13) Créer un utilisateur avec un commentaire personnalisé

Nous pouvons fournir le nom complet ou une courte description de l'utilisateur (un commentaire) lors de la création d'un utilisateur. Vous devez utiliser -c possibilité d'ajouter des commentaires personnalisés.

Laissez-moi vous montrer un exemple :

$ sudo useradd -c "Bill Drape" bill

Ce commentaire peut être vu dans l'entrée de l'utilisateur dans le fichier '/etc/passwd'.

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

Conclusion

Dans ce didacticiel, nous avons appris à créer des utilisateurs sous Linux et différentes options de la commande useradd. J'espère que vous avez apprécié la lecture et s'il vous plaît laissez vos suggestions dans la section des commentaires ci-dessous.


Linux
  1. Comment créer plusieurs comptes d'utilisateurs sous Linux

  2. Comment supprimer / supprimer des utilisateurs sous Linux à l'aide de la commande userdel

  3. Comment créer un script d'une commande Linux

  4. Comment créer un utilisateur Linux avec Ansible

  5. Comment créer des fichiers fragmentés sous Linux à l'aide de la commande "dd"

Comment créer un lien symbolique sous Linux à l'aide de la commande Ln

Comment créer des utilisateurs à l'aide de la commande Useradd sous Linux

Comment créer un alias sous Linux

Ajout de nouveaux utilisateurs sous Linux avec la commande Useradd

Comment créer et gérer de nouveaux utilisateurs sous Linux

Comment créer/ajouter des utilisateurs sous Linux