useradd : programme pour la création d'un compte utilisateur (de façon non-interactive)

Ubuntu, comme tous les autres systèmes d'exploitation de la famille GNU/Linux, est un système multi-utilisateurs.

useradd est un programme que l'on peut lancer grâce au terminal et qui permet de créer un compte d'utilisateur. La commande useradd doit être lancée par un administrateur, il faut donc utiliser sudo.

useraddfonctionne de manière non-interactive. Cela sert à créer des comptes d'utilisateur à partir d'autres programmes, ou à effectuer du traitement par lots (càd création automatisée des comptes utilisateurs). On peut créer des scripts exploitant useradd : le script adduser en est un exemple, et il offre la facilité d'être en mode interactif.

La commande useradd, lancée par un administrateur, s'utilise comme ceci :

sudo useradd identifiant_utilisateur [options]

identifiant_utilisateur représente l'identifiant (le login) du nouveau compte d'utilisateur à créer. Les options sont facultatives et permettent de préciser des caractéristiques supplémentaires du nouveau compte d'utilisateur.

:!: Prenez note qu'un compte d'utilisateur sans mot de passe est inactif : aucun usager ne peut ouvrir de session avec ce compte tant qu'un mot de passe ne lui a pas été attribué. Pour ce faire, utilisez la commande passwd pour attribuer un mot de passe après la création du compte.

Options

Plusieurs options peuvent être fournies à useradd. Chacune d'elle est facultative. Ces options permettent de configurer certains aspects du nouveau compte d'utilisateur dès le moment de sa création. Voici les principales options intéressantes.

option utilité de l'option
--uid UID Attribue un identifiant numérique unique pour le nouveau compte.
Sans cette option, le prochain UID disponible est automatiquement choisi.
--home CHEMIN_ABSOLU_DU_DOSSIER Permet de choisir l'emplacement du dossier personnel du nouveau compte.
Sans cette option, le dossier personnel aura le chemin /home/identifiant_utilisateur/
--create-home Crée le dossier personnel de l'utilisateur. Les sous-dossiers par défaut tels que Documents, Bureau et Téléchargements seront quant à eux créés lorsque le nouvel utilisateur se connectera pour la première fois.
Sans cette option, le dossier personnel n'est pas créé.
--groups GROUPE1[,GROUPE2,GROUPE3...] Détermine les groupes auxquels le nouveau compte doit appartenir. Il faut écrire le groupe principal de l'utilisateur dans cette liste des groupes, car l'utilisateur n'y sera pas affecté automatiquement.
Si un ou plusieurs de ces groupes n'existe(nt) pas, l'exécution d'useradd sera annulée.
--gid GROUPE Sélectionne le groupe principal du nouveau compte (à l'aide du nom du groupe ou du GID). Il faudra également placer le nouvel utilisateur dans ce groupe, par exemple grâce à l'option --groups
Sans l'option --gid, un nouveau groupe portant le même nom que l'utilisateur sera créé, et ce groupe deviendra le groupe principal de l'utilisateur.
Si le groupe principal qui a été choisi n'existe pas, la commande useradd sera annulée.
--shell CHEMIN_ABSOLU_DU_SHELL Sélectionne le shell à utiliser pour exécuter les commandes du terminal. Le chemin du shell Bash est /bin/bash.
Sans cette option, le shell par défaut est /bin/sh qui est un shell minimaliste. On lui préfèrera donc généralement le Bash ou une autre alternative.

Consultez le manuel de useradd (en) ou le manuel de useradd (fr) pour lire davantage à propos de ces options et découvrir des options supplémentaires.

Rappel préalable : un compte créé avec useradd est inactif. Pour l'activer, il faut attribuer un password au compte.

Création simple de l'utilisatrice nommée "jane"

Avec toutes les options par défaut.

sudo useradd jane

sudo passwd jane
  • Nom d'utilisatrice: jane
  • ID de l'utilisatrice (UID) : automatiquement choisi par le système d'exploitation
  • Dossier personnel de l'utilisatrice : /home/jane/
  • Ce dossier personnel n'est pas créé par useradd, il faudra le créer par la suite (par exemple avec la commande mkdir /home/jane/)
  • L'utilisatrice est ajoutée au groupe suivant : jane (par défaut, Linux crée un groupe portant le même nom que le nouvel utilisateur)
  • Groupe principal de l'utilisatrice : jane
  • Chemin du shell pour les commandes du terminal : /bin/sh

Pour terminer, on fait l'activation du compte en lui attribuant un mot de passe grâce à la commande passwd.

Création avancée de l'utilisateur nommé "tarzan"

En exploitant toutes les options définies plus haut.

sudo useradd tarzan --uid 1010 --home /home/acteur/ --create-home --groups jungle,animaux --gid jungle --shell /bin/bash

sudo passwd tarzan

Explication des options choisies :

  • Nom d'utilisateur : tarzan
  • ID de l'utilisateur (UID) : 1010
  • Dossier personnel de l'utilisateur : /home/acteur/
  • Ce dossier personnel est créé par useradd
  • L'utilisateur est ajouté aux deux groupes suivants : jungle et animaux
  • Groupe principal de l'utilisateur : jungle
  • Chemin du shell pour les commandes du terminal : /bin/bash

Pour terminer, on fait l'activation du compte en lui attribuant un mot de passe grâce à la commande passwd.

Activation du compte : choix d'un mot de passe pour l'utilisateur nommé "tarzan"

L'attribution d'un mot de passe peut se faire grâce à la commande passwd. Remarque : pendant que vous tapez le mot de passe, rien ne s'affiche à l'écran. Cela est normal.

sudo passwd tarzan
Entrez le nouveau mot de passe UNIX : 
Retapez le nouveau mot de passe UNIX :
passwd : le mot de passe a été mis à jour avec succès ...

En plus des fichiers impactés par défaut, il peut être intéressant de consulter certains autres fichiers liés à useradd. Parmi ceux-ci :

  • /etc/default/useradd
  • /etc/login.defs (man login.defs pour plus d'informations)
  • /etc/pam.d
  • useradd.txt
  • Dernière modification: Le 10/08/2023, 12:53
  • par Amiralgaby