Quelle est la différence entre les commandes adduser
et useradd
sur Ubuntu?
useradd
est un binaire natif compilé avec le système. Maisadduser
est un script Perl qui utiliseuseradd
binary en back-end.
adduser
est plus convivial et interactif que son back-enduseradd
. Il n'y a pas de différence dans les fonctionnalités fournies.
Source: Quelle est la différence entre “adduser” et “useradd”?
Utilisez toujours adduser
name __ (et deluser
lors de la suppression d'utilisateurs) lorsque vous créez de nouveaux utilisateurs à partir de la ligne de commande. (Si vous écrivez un script, en particulier si vous recherchez la portabilité, vous pouvez utiliser les utilitaires de bas niveau - et adduser
name __/deluser
pourrait ne pas être disponible sur toutes les distributions, par exemple sur SuSE.)
Les commandes useradd
name___, userdel
et usermod
sont des utilitaires de bas niveau qui existent pour des raisons historiques, tandis que adduser/deluser
Fare The Right Thing ™. (Je me souviens lequel utiliser en pensant que user*
vient après adduser/deluser
dans l'alphabet, et est donc "pire".)
Selon les pages de manuel respectives (sur Ubuntu 12.04, Precise Pangolin, c’est-à-dire un système dérivé de Debian).
adduser
dit:(Soulignement ajouté.)
adduser
etaddgroup
ajoutent des utilisateurs et des groupes au système en fonction des options de ligne de commande et des informations de configuration dans/etc/adduser.conf
. Ce sont des interfaces plus conviviales pour les outils de bas niveau tels queuseradd
name__,groupadd
etusermod
, choisissant par défaut les valeurs d'UID et de GID conformes à la politique Debian, créant ainsi une maison. répertoire avec configuration squelettique, exécution d’un script personnalisé et autres fonctionnalités.adduser
etaddgroup
peuvent être exécutés dans l’un des cinq modes suivants:
useradd
dit:
useradd
est un utilitaire de bas niveau permettant d’ajouter des utilisateurs. Sur Debian, les administrateurs devraient généralement utiliseradduser(8)
à la place.
Voir aussi: Quelle est la différence entre “adduser” et “useradd”? (sur SuperUser)
adduser
: ajouter un utilisateur avec le profil complet et des informations (passe, quota, permission, etc.)
useradd
: ajoute un utilisateur avec son nom uniquement (si vous souhaitez ajouter un utilisateur temporaire avec un seul nom, d'autres informations non requises)
Deux autres différences, qui conduisent à des scénarios spécifiques dans lesquels useradd pourrait être préférable.
Dans certaines distributions plus récentes, y compris Ubuntu 14.4, adduser demandera des informations telles que mot de passe et "gecos" (données pour la commande finger). Cela signifie que cela peut être moins approprié pour appeler depuis un script (crédit: déjà mentionné dans un commentaire de Wernight).
Les invites peuvent être supprimées en passant des arguments nuls:
adduser --disabled-password --gecos "" USER
useradd
vous permet de transmettre plusieurs groupes supplémentaires auxquels ajouter un utilisateur au moyen de l'option -G
. adduser
semble exiger que vous appeliez la commande une fois pour chaque groupe à ajouter.
adduser
est plus convivial en ce sens qu'il configure les dossiers personnels du compte et d'autres paramètres (par exemple, en chargeant automatiquement les statistiques système et les notifications lors de la connexion), alors que useradd
ne fait que créer l'utilisateur.
La différence fondamentale est que "adduser" créera un répertoire personnel et ajoutera des fichiers squelettes à ce répertoire où "useradd" ne créera aucun répertoire personnel ni aucun fichier squelette!
Adding user `try' ...
Adding new group `try' (1001) ...
Adding new user `try' (1001) with group `try' ...
Creating home directory `/home/try' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for try
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] y
# ll /home/
total 20
drwxr-xr-x 5 root root 4096 Oct 26 15:52 ./
drwxr-xr-x 22 root root 4096 Oct 26 15:47 ../
drwx------ 8 ashishk ashishk 4096 Oct 26 15:50 ashishk/
drwxr-xr-x 3 root root 4096 Oct 14 13:02 .ecryptfs/
drwxr-xr-x 2 try try 4096 Oct 26 15:52 try/
root@chef-workstation:/home/ashishk#
Je ferai également remarquer que adduser
n'a pas toujours l'option -M
et ne respecte pas non plus l'indicateur --system
qui indique spécifiquement :
Notez que useradd ne créera pas de répertoire de base pour un tel utilisateur, quel que soit le paramètre par défaut défini dans /etc/login.defs (CREATE_HOME). Vous devez spécifier les options -m si vous souhaitez créer un répertoire de base pour un compte système.
Si vous essayez de créer un utilisateur système sans un répertoire personnel, utilisez useradd --system -M
.