web-dev-qa-db-fra.com

Quelle est la différence entre adduser et useradd?

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

423
Joe Cabezas

useradd est un binaire natif compilé avec le système. Mais adduser est un script Perl qui utilise useradd binary en 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.

Source: Quelle est la différence entre “adduser” et “useradd”?

371
Radu Rădeanu

Utilisez toujours addusername __ (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 recherchez la portabilité, vous pouvez utiliser les utilitaires de bas niveau - et addusername __/deluserpourrait ne pas être disponible sur toutes les distributions, par exemple sur SuSE.)

Les commandes useraddname___, userdelet usermodsont des utilitaires de bas niveau qui existent pour des raisons historiques, tandis que adduser/deluserFare 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).

La page de manuel correspondant à adduserdit:

(Soulignement ajouté.)

adduseret addgroupajoutent 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 que useraddname__, groupaddet usermod, 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. adduseret addgrouppeuvent être exécutés dans l’un des cinq modes suivants:

La page de manuel correspondant à useradddit:

useraddest un utilitaire de bas niveau permettant d’ajouter des utilisateurs. Sur Debian, les administrateurs devraient généralement utiliser adduser(8) à la place.

Voir aussi: Quelle est la différence entre “adduser” et “useradd”? (sur SuperUser)

145
zrajm

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)

16
mandm

Deux autres différences, qui conduisent à des scénarios spécifiques dans lesquels useradd pourrait être préférable.

  1. 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
    
  2. 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.

9
AdamS

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.

7
Paul

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#
3
Ashish Karpe

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.

0
blockloop