Journal complet
· 3 min de lecture

Comprendre la différence entre useradd et adduser sous Linux

useradd est l'outil bas niveau, adduser un wrapper Perl interactif propre à Debian : différences pratiques et lequel choisir selon le contexte.

Aussi disponible en English

Lorsqu’on administre un système Linux, il est fréquent d’avoir besoin de créer de nouveaux utilisateurs. Deux commandes existent pour cela : useradd et adduser. Elles semblent équivalentes à première vue, mais leur origine et leur fonctionnement diffèrent sensiblement.

1. useradd : la commande native

useradd fait partie des outils bas niveau de gestion des comptes utilisateurs fournis par le paquet passwd (souvent issu du projet shadow-utils dans les distributions modernes).

  • Rôle : créer un compte utilisateur en manipulant directement les fichiers systèmes comme /etc/passwd, /etc/shadow, /etc/group et /etc/skel.
  • Comportement : par défaut, useradd est assez strict et minimaliste. Si aucune option n’est passée, l’utilisateur peut être créé sans répertoire personnel ni shell défini.
  • Syntaxe : useradd -m -s /bin/bash nouvelutilisateur Ici, -m force la création du home directory et -s définit le shell par défaut.

En résumé, useradd est un outil bas niveau, destiné à être utilisé dans des scripts ou par des administrateurs expérimentés qui savent exactement quels paramètres fournir.


2. adduser : le wrapper convivial

adduser n’est pas une commande native du noyau ou des utilitaires de base, mais un script Perl (dans Debian/Ubuntu et dérivées). Son but est de rendre l’expérience plus simple et plus interactive.

  • Rôle : fournir une interface de haut niveau pour useradd.
  • Fonctionnement : il agit comme un wrapper : il appelle useradd (et parfois usermod) en arrière-plan, mais ajoute une logique de vérification et une interaction avec l’administrateur.
  • Interaction : lorsque vous tapez : adduser nouvelutilisateur le script va vous poser des questions : mot de passe, nom complet, informations supplémentaires… puis créer automatiquement le répertoire personnel, copier les fichiers de /etc/skel, configurer les droits, etc.

Pourquoi en Perl ?

Historiquement, dans Debian et ses dérivés, adduser a été écrit en Perl afin de bénéficier rapidement d’un langage de script puissant et portable pour ajouter cette couche d’ergonomie au-dessus des outils système existants.

  • Cela permettait d’avoir une logique conditionnelle et interactive, plus difficile à maintenir en pur shell.
  • Avec Perl, la gestion des chaînes, des formulaires interactifs et de la configuration est plus simple.

3. Différences pratiques entre useradd et adduser

Aspectuseraddadduser
OrigineOutil bas niveau (shadow-utils)Script Perl (Debian/Ubuntu)
Répertoire homeNon créé par défautToujours créé
Shell par défautPeut être /bin/sh ou non définiDéfini automatiquement (souvent /bin/bash)
InteractionAucune, nécessite toutes les optionsPose des questions (mot de passe, infos)
PortabilitéPrésent sur toutes les distrosSpécifique aux dérivées Debian (Ubuntu, Mint, etc.)
CibleScripts et admins expertsAdministrateurs cherchant la simplicité

4. Conclusion : lequel utiliser ?

  • Sur Debian/Ubuntu et distributions dérivées, adduser est recommandé pour la plupart des cas, car il est plus sûr et évite les oublis (home directory, shell, etc.).
  • Sur d’autres systèmes comme Red Hat, CentOS, Fedora, seule la commande useradd est disponible — ce qui reflète bien sa nature d’outil universel.

En pratique, adduser n’est qu’un wrapper en Perl autour de useradd, mais il illustre bien une philosophie Debian : rendre l’administration plus accessible tout en gardant la puissance des outils Unix en arrière-plan.


👉 Lorsqu’on automatise la gestion des comptes dans nos infrastructures clientes, on privilégie useradd dans les scripts (prévisible, universel), et adduser dans l’administration manuelle quotidienne (ergonomique, sécurisé).

S'abonner en RSS

DESSINÉ PAR A. PERROTRSS · © 2026 — RÉV. 11/2026