La création d'utilisateurs sous Linux ou Unix est une tâche de routine pour les administrateurs système.
Parfois, vous pouvez créer un seul utilisateur avec la configuration par défaut, ou créer un seul utilisateur avec une configuration personnalisée, ou créer plusieurs utilisateurs en même temps en utilisant une méthode de création d'utilisateurs en masse.
Dans cet article, voyons comment créer des utilisateurs Linux selon 4 méthodes différentes en utilisant les commandes useradd, adduser et newusers avec des exemples pratiques.
Méthode 1 :Commande Linux useradd – Créer un utilisateur avec des configurations par défaut
Il s'agit d'un outil fondamental de bas niveau pour la création d'utilisateurs. Pour créer un utilisateur avec des configurations par défaut, utilisez useradd comme indiqué ci-dessous.
Syntax: # useradd LOGIN-NAME
Lors de la création d'utilisateurs comme mentionné ci-dessus, toutes les options par défaut seront prises à l'exception de l'identifiant de groupe. Pour afficher les options par défaut, exécutez la commande suivante avec l'option -D.
$ useradd -D GROUP=1001 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/sh SKEL=/etc/skel CREATE_MAIL_SPOOL=no
- GROUPE : C'est la seule option qui ne sera pas prise par défaut. Parce que si vous ne spécifiez pas l'option -n, un groupe portant le même nom que l'utilisateur sera créé et l'utilisateur sera ajouté à ce groupe. Pour éviter cela et faire de l'utilisateur le membre du groupe par défaut, vous devez donner l'option -n.
- ACCUEIL : Il s'agit du préfixe de chemin par défaut pour le répertoire personnel. Maintenant, le répertoire personnel sera créé en tant que /home/USERNAME.
- INACTIF : -1 par défaut désactive la fonctionnalité de désactivation du compte une fois que le mot de passe de l'utilisateur a expiré. Pour modifier ce comportement, vous devez donner un nombre positif, ce qui signifie que si le mot de passe expire après le nombre de jours indiqué, le compte utilisateur sera désactivé.
- EXPIRATION : La date à laquelle le compte utilisateur sera désactivé.
- SHELL : Shell de connexion des utilisateurs.
- SKEL :Le contenu du répertoire skel sera copié dans le répertoire d'accueil des utilisateurs.
- CREATE_MAIL_SPOOL :Selon la valeur crée ou ne crée pas le spool de courrier.
Exemple 1 :Création d'un utilisateur avec toutes les options par défaut et avec son propre groupe.
L'exemple suivant crée l'utilisateur ramesh avec le groupe ramesh. Utilisez la commande Linux passwd pour modifier le mot de passe de l'utilisateur immédiatement après la création de l'utilisateur.
# useradd ramesh # passwd ramesh Changing password for user ramesh. New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully. # grep ramesh /etc/passwd ramesh:x:500:500::/home/ramesh:/bin/bash # grep ramesh /etc/group ramesh:x:500: [Note: default useradd command created ramesh as username and group]
Exemple 2 :Création d'un utilisateur avec toutes les options par défaut et avec le groupe par défaut.
# useradd -n sathiya # grep sathiya /etc/passwd sathiya:x:511:100::/home/sathiya:/bin/bash # grep sathiya /etc/group [Note: No rows returned, as group sathiya was not created] # grep 100 /etc/group users:x:100: [Note: useradd -n command created user sathiya with default group id 100] # passwd sathiya Changing password for user sathiya. New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully. [Note: Always set the password immediately after user creation]
Exemple 3 :Modification des options par défaut utilisées par useradd.
L'exemple suivant montre comment changer le shell par défaut de /bin/bash à /bin/ksh lors de la création de l'utilisateur.
Syntax: # useradd -D --shell=<SHELLNAME> # useradd -D GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel [Note: The default shell is /bin/bash] # useradd -D -s /bin/ksh # useradd -D GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/ksh SKEL=/etc/skel [Note: Now the default shell changed to /bin/ksh] # adduser priya # grep priya /etc/passwd priya:x:512:512::/home/priya:/bin/ksh [Note: New users are getting created with /bin/ksh] # useradd -D -s /bin/bash [Note: Set it back to /bin/bash, as the above is only for testing purpose]
Méthode 2 :Commande Linux useradd – Créer des utilisateurs avec des configurations personnalisées
Au lieu d'accepter les valeurs par défaut (par exemple, groupe, shell, etc.) fournies par la commande useradd comme indiqué dans la méthode ci-dessus, vous pouvez spécifier des valeurs personnalisées dans la ligne de commande en tant que paramètres de la commande useradd.
Syntax: # useradd -s <SHELL> -m -d <HomeDir> -g <Group> UserName
- -s SHELL :Shell de connexion pour l'utilisateur.
- -m :Créer le répertoire personnel de l'utilisateur s'il n'existe pas.
- -d RépAccueil :Répertoire d'accueil de l'utilisateur.
- -g Groupe :Nom de groupe ou numéro de l'utilisateur.
- Nom d'utilisateur :identifiant de connexion de l'utilisateur.
Exemple 4 :Créer un utilisateur Linux avec des configurations personnalisées à l'aide de la commande useradd
L'exemple suivant crée un compte (lebron) avec le répertoire personnel /home/king, le shell par défaut comme /bin/csh et avec le commentaire "LeBron James".
# useradd -s /bin/csh -m -d /home/king -c "LeBron James" -g root lebron # grep lebron /etc/passwd lebron:x:513:0:LeBron James:/home/king:/bin/csh
Remarque : Vous pouvez donner le mot de passe en utilisant l'option -p, qui doit être un mot de passe crypté. Ou vous pouvez utiliser la commande passwd pour changer le mot de passe de l'utilisateur.
Méthode 3 :Commande Linux adduser – Créer des utilisateurs de manière interactive
Ce sont les outils les plus conviviaux pour l'utilisateur de bas niveau. Par défaut, il choisit le format de politique Debian pour l'UID et le GID. Un moyen très simple de créer un utilisateur dans la ligne de commande de manière interactive consiste à utiliser la commande adduser.
Syntax: # adduser USERNAME
Exemple 5 :Création interactive d'un utilisateur avec la commande adduser
# adduser spidey Adding user `spidey' ... Adding new group `spidey' (1007) ... Adding new user `spidey' (1007) with group `spidey' ... Creating home directory `/home/spidey' ... Copying files from `/etc/skel' ... Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Changing the user information for spidey Enter the new value, or press ENTER for the default Full Name []: Peter Parker Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [y/N] y
Méthode 4 :Commande Linux newusers – Création d'utilisateurs en masse
Parfois, vous voudrez peut-être créer plusieurs utilisateurs en même temps. L'utilisation de l'une des 3 méthodes ci-dessus pour la création d'utilisateurs en masse peut être très fastidieuse et prendre du temps. Heureusement, Linux offre un moyen de télécharger des utilisateurs à l'aide de la commande newusers. Cela peut également être exécuté en mode batch car il ne peut demander aucune entrée.
# newusers FILENAME
Ce format de fichier est le même que le fichier de mot de passe.
loginname:password:uid:gid:comment:home_dir:shell
Exemple 6 :Création d'un grand nombre d'utilisateurs à l'aide de la commande newusers
Si la famille Simpson décide de rejoindre votre organisation et a besoin d'accéder à votre serveur Linux, vous pouvez créer un compte pour tous ensemble à l'aide de la commande newusers comme indiqué ci-dessous.
# cat homer-family.txt homer:HcZ600a9:1008:1000:Homer Simpson:/home/homer:/bin/bash marge:1enz733N:1009:1000:Marge Simpson:/home/marge:/bin/csh bart:1y5eJr8K:1010:1000:Bart Simpson:/home/bart:/bin/ksh lisa:VGz638i9:1011:1000:Lisa Simpson:/home/lisa:/bin/sh maggie:5lj3YGQo:1012:1000:Maggie Simpson:/home/maggie:/bin/bash
Remarque : Lorsque vous spécifiez des mots de passe pour les utilisateurs, veuillez suivre les meilleures pratiques en matière de mot de passe, y compris la règle de mot de passe 8-4 dont nous avons discuté il y a quelque temps.
Créez maintenant des comptes pour la famille Simpsons ensemble en utilisant la commande newusers comme indiqué ci-dessous.
# newusers homer-family.txt