et c’est et reste une bonne question valable. Le problème, ce n’est pas les gens qui le demandent dans des contextes respectifs, c’est que cette question doit être posée du tout.
foo
Réponses:
387
useraddest un binaire natif compilé avec le système. Mais, adduserest un script Perl qui utilise le useraddbinaire en back-end.
adduserest plus convivial et interactif que son back-end
useradd. Il n'y a pas de différence dans les fonctionnalités fournies.
La commande add useradd ne créera pas le répertoire '/ home / username' mais la commande adduser le fera
Approfondir
65
useradd avec l' -moption créera le répertoire de base.
richsinn
10
L'implémentation n'est pas si intéressante que la sémantique. Like 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.
Anders
23
Je dois google à chaque fois ... Comment puis-je m'aider à me rappeler lequel est lequel?
Quentin Skousen
11
@kkhugs to me "adduser" semble le plus intuitif car c'est une commande qui ressemble à l'anglais, alors que l'autre ne le fait pas, sémantiquement. Si vous vous en souvenez comme «le plus intuitif» des deux, vous pouvez également essayer de vous en rappeler comme celui que vous préférez / plus facile.
pzkpfw
146
Toujours utiliseradduser (et deluserlors 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/ deluserpourrait ne pas être disponible sur toutes les distributions, par exemple sur SuSE.)
Les commandes useradd, userdelet usermodsont des utilitaires de bas niveau qui existent pour des raisons historiques, tandis que adduser/deluserDo The Right Thing ™. (Je me souviens lequel utiliser en pensant que cela user*vient après adduser/deluserdans 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).
Manpage for adduserdit:
(Soulignement ajouté.)
adduseret addgroupajouter 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 que useradd, groupaddet les usermodprogrammes , 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.
adduseret addgrouppeut être exécuté dans l’un des cinq modes suivants:
Manpage for useradddit:
useraddest un utilitaire de bas niveau pour l'ajout d'utilisateurs. Sur Debian, les administrateurs devraient généralement utiliser à la adduser(8)place.
Je ne me souviens jamais lequel, alors c'est ma stupide mnémonique si ça aide quelqu'un: "utilisateur" rime avec "perdant", et "perdant" vient en dernier. Ainsi: adduser, deluser.
Mads Skjern
26
En fait, je ne suis pas d' accord sur " Toujours utiliser l'utilisateuradduser ": pour les scripts automatisés, je préférerais, useraddcar il est toujours présent, non interactif et non spécifique à la distribution .
Wernight
2
J'ai essayé addusersur openSUSE, et ce n'est pas là. (13.2)
cst1992
1
@ cst1992 Vous avez raison, j'ai modifié la réponse en conséquence. Curieusement, lorsque j’ai essayé locate addusersur un système SuSE 11 au travail, j’ai trouvé qu’il existait une adduserpage de manuel, mais pas de binaire (et ni une deluserpage de manuel ni une commande).
Zrajm
2
Sur Red Hat/usr/sbin/adduser -> useradd
Levon
17
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)
+1 et bienvenue! J'ai voté la personne qui était incapable d'expliquer son précédent vote négatif. Continuez! Les bons programmeurs montent toujours au sommet - (et ne votez pas sans explication). :)
Ricalsin
11
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
useraddvous permet de transmettre plusieurs groupes supplémentaires auxquels ajouter un utilisateur à l'aide de l' -Goption. addusersemble exiger que vous appeliez la commande une fois pour chaque groupe à ajouter.
adduserest 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 useraddne crée que l'utilisateur.
Faux. useradd peut créer un répertoire personnel avec -m, définir un mot de passe avec -p, créer des fichiers squelettes avec -k et ajouter des utilisateurs à des groupes avec -G.
Ychaouche
5
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!
adduser essayez:
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
useradd try1:
# 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 adduserl' -Moption n'est pas toujours disponible et que le --systemdrapeau 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.
Réponses:
Source: Quelle est la différence entre “adduser” et “useradd”?
la source
-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. Etuseradd(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 utiliser
adduser
(etdeluser
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 - etadduser
/deluser
pourrait ne pas être disponible sur toutes les distributions, par exemple sur SuSE.)Les commandes
useradd
,userdel
etusermod
sont des utilitaires de bas niveau qui existent pour des raisons historiques, tandis queadduser/deluser
Do The Right Thing ™. (Je me souviens lequel utiliser en pensant que celauser*
vient aprèsadduser/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).
Manpage for
adduser
dit:(Soulignement ajouté.)
Manpage for
useradd
dit:Voir aussi: Quelle est la différence entre “adduser” et “useradd”? (sur SuperUser)
la source
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 uneadduser
page de manuel, mais pas de binaire (et ni unedeluser
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)la source
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:
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.la source
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'iluseradd
ne crée que l'utilisateur.la source
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!
adduser essayez:
useradd try1:
la source
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 :Si vous essayez de créer un utilisateur système sans répertoire personnel, utilisez-le
useradd --system -M
.la source