Question Quelle est la différence entre adduser et useradd?


Quelle est la différence entre les commandes adduser et useradd sur Ubuntu?


365
2017-09-15 20:32


origine


Meme question sur Super User et sur erreur de serveur - ændrük
et aussi sur Échange de pile Unix (réponse assez détaillée) - xealits


Réponses:


useradd est un fichier binaire natif compilé avec le système. Mais, adduser est   un script perl qui utilise useradd binaire dans le back-end.

adduser est plus convivial et interactif que son back-end    useradd. Il n'y a pas de différence dans les fonctionnalités fournies.

La source: Quelle est la différence entre «adduser» et «useradd»?


320
2017-09-15 20:56



ajouter la commande useradd ne créera pas le répertoire '/ home / username' mais la commande adduser - Deepen
useradd avec le -m L'option créera le répertoire de base. - richsinn
L’implémentation n’est pas si intéressante, la sémantique est. Comme adduser(8) est plus convivial et crée et configure un utilisateur par défaut comme vous le souhaitez. Et useradd(8) faites seulement ce que vous demandez, alors vous voulez créer un répertoire personnel, vous devez lui dire de le créer pour vous. - Anders
Je dois google ça à chaque fois ... Comment puis-je me souvenir de qui? - Quentin Skousen
@kkhugs pour moi "adduser" se sent le plus intuitif parce que c'est une commande qui sonne comme l'anglais, tandis que l'autre ne le fait pas, sémantiquement. Si vous vous en souvenez comme étant "le plus intuitif" des deux, vous pouvez également essayer de vous en souvenir comme étant le plus facile / le plus facile. - pzkpfw


Toujours utiliser adduser (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, surtout si vous visez la portabilité, vous pouvez utiliser plutôt les utilitaires de bas niveau - et adduser/deluser peut ne pas être disponible sur toutes les distributions, par exemple sur SuSE.)

le useradd, userdel et usermod commandes sont des utilitaires de bas niveau qui sont là pour des raisons historiques, tandis que adduser/deluser Faire la bonne chose. (Je me souviens de quoi 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).

Manpage pour adduser dit:

(Accentuation ajoutée.)

adduser et addgroup ajouter des utilisateurs et des groupes au système en fonction de la ligne de commande   options et informations de configuration dans /etc/adduser.conf. Ils sont plus sympathiques   les extrémités avant des outils de bas niveau comme useradd, groupadd et usermod programmes,   par défaut en choisissant les valeurs UID et GID conformes à la politique Debian, en créant une maison   répertoire avec configuration squelettique, exécution d'un script personnalisé et d'autres fonctionnalités.    adduser et addgroup peut être exécuté dans l'un des cinq modes suivants:

Manpage pour useradd dit:

useradd est un utilitaire de bas niveau pour ajouter des utilisateurs. Sur Debian, les administrateurs devraient   habituellement utiliser adduser(8) au lieu.

Voir également: Quelle est la différence entre «adduser» et «useradd»? (sur SuperUser)


133
2017-11-24 17:42



Je ne peux jamais me rappeler lequel, donc c'est mon mnémonique stupide si cela aide n'importe qui :) "user" rime avec "loser", et "loser" vient en dernier. Ainsi: adduser, deluser. - Mads Skjern
En fait, je être en désaccord sur "Toujours utilisateur adduser": Pour les scripts automatisés, je préfère useradd parce que c'est toujours là, non interactif et non spécifique à la distribution. - Wernight
j'ai essayé adduser sur openSUSE, et ce n'est pas le cas. (13.2) - cst1992
@ cst1992 Vous avez raison, j'ai édité la réponse pour refléter cela. Curieusement, quand j'ai essayé locate adduser sur un système SuSE 11 au travail, j'ai trouvé qu'il y avait un adduser manpage, mais pas de binaire (ni de deluser manpage ni une commande). - zrajm
useradd est préférable si vous êtes un vrai administrateur système. Ne pas pouvoir utiliser adduser dans un script autonome est une véritable déception. - answerSeeker


adduser: ajouter un utilisateur avec profil complet et informations (passe, quota, permission, etc.)

useradd: ajouter un utilisateur avec son nom uniquement (si vous souhaitez ajouter un utilisateur temporaire avec uniquement un nom, aucune autre information n'est requise)


14
2017-07-02 11:00



+1 et bienvenue! J'ai voté la personne qui était incapable d'expliquer son précédent vote. Continuez! Les bons programmeurs atteignent toujours le sommet (et ne votent pas sans explication). :) - Ricalsin


adduser est plus convivial dans la mesure où il configure les dossiers d'accueil du compte et d'autres paramètres (par exemple, le chargement automatique des statistiques du système et les notifications lors de la connexion), alors que useradd crée simplement l'utilisateur.


7
2017-09-15 21:05



Faux. useradd peut créer un répertoire personnel avec -m, définir le mot de passe avec -p, créer des fichiers squelettes avec -k et ajouter un utilisateur à un ou plusieurs groupes avec -G. - ychaouche


Un autre couple de différences, qui conduit à des scénarios spécifiques où useradd peut être préférable.

  1. Dans certaines distributions plus récentes, y compris Ubuntu 14.4, adduser demandera des informations telles que le mot de passe et "gecos" (données pour la commande finger). Cela signifie qu'il peut être moins adapté à l'appel depuis un script (crédit: déjà mentionné dans un commentaire de Wernight).

    Les invites peuvent être supprimées en transmettant des arguments null:

    adduser --disabled-password --gecos "" USER
    
  2. useradd vous permet de passer plusieurs groupes supplémentaires pour ajouter un utilisateur au moyen du -G option. adduser semble exiger que vous appeliez la commande une fois pour chaque groupe à ajouter.


7
2017-09-29 21:38



Ne fonctionne pas sur Ubuntu 16.04. - answerSeeker


La différence de base est que "adduser" va créer un répertoire personnel et ajouter des fichiers squelettes à ce répertoire où "useradd" ne créera aucun fichier de répertoire personnel et de squelette!

adduser essayer:

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#

3
2017-10-26 14:10



Faux. Voir commentaire précédent - ychaouche