Quelle est la différence entre les commandes adduser
et useradd
sur Ubuntu?
Quelle est la différence entre les commandes adduser
et useradd
sur Ubuntu?
Réponses:
useradd
est un binaire natif compilé avec le système. Mais,adduser
est un script Perl qui utilise leuseradd
binaire 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”?
-m
option créera le répertoire de base.
adduser(8)
est plus convivial et crée et configure un utilisateur par défaut comme vous le souhaitez. Et useradd(8)
ne faites que ce que vous demandez, alors vous voulez un répertoire personnel créé, vous devez le lui dire pour le créer pour vous.
Toujours utiliseradduser
(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 visez la portabilité, vous voudrez peut-être utiliser les utilitaires de bas niveau - et adduser
/ deluser
pourrait ne pas être disponible sur toutes les distributions, par exemple sur SuSE.)
Les commandes useradd
, userdel
et usermod
sont des utilitaires de bas niveau qui existent pour des raisons historiques, tandis que adduser/deluser
Do The Right Thing ™. (Je me souviens lequel utiliser en pensant que cela 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
ajouter 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
. Ils sont plus conviviaux pour les outils de bas niveau tels queuseradd
,groupadd
et lesusermod
programmes , choisissant par défaut les valeurs UID et GID conformes à la politique Debian, créant un répertoire de base avec une configuration squelettique, exécutant un script personnalisé et d’autres fonctionnalités.adduser
etaddgroup
peut être exécuté dans l’un des cinq modes suivants:
useradd
dit:
useradd
est un utilitaire de bas niveau pour l'ajout d'utilisateurs. Sur Debian, les administrateurs devraient généralement utiliser à laadduser(8)
place.
Voir aussi: Quelle est la différence entre “adduser” et “useradd”? (sur SuperUser)
adduser
": pour les scripts automatisés, je préférerais, useradd
car il est toujours présent, non interactif et non spécifique à la distribution .
adduser
sur openSUSE, et ce n'est pas là. (13.2)
locate adduser
sur un système SuSE 11 au travail, j’ai trouvé qu’il existait une adduser
page de manuel, mais pas de binaire (et ni une deluser
page de manuel ni une commande).
/usr/sbin/adduser -> useradd
adduser
: ajouter un utilisateur avec le profil complet et des informations (passe, quota, permission, etc.)
useradd
: ajouter un utilisateur avec son nom uniquement (si vous voulez ajouter un utilisateur temporaire avec seulement un 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 à l'aide de l' -G
option. 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 de départ du compte et d'autres paramètres (par exemple, le chargement automatique de statistiques système et de notifications lors de la connexion), alors qu'il useradd
ne crée que 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 tiens également à souligner que adduser
l' -M
option n'est pas toujours disponible et que le --system
drapeau n'est pas respecté. Il 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 qu'un répertoire de base pour un compte système soit créé.
Si vous essayez de créer un utilisateur système sans répertoire personnel, utilisez-le useradd --system -M
.