{{tag>administration}}
----
====== adduser et addgroup : outils interactifs de création d'un compte d'utilisateur et d'un groupe d'utilisateurs ======
Ubuntu, comme tous les autres systèmes d'exploitation de la famille GNU/Linux, est un système foncièrement multi-utilisateurs. Cela signifie que vous n'êtes pas limité à un seul compte d'utilisateur dans le fonctionnement de votre ordinateur. Vous pouvez créer plusieurs comptes d'utilisateurs pour chaque usager de votre ordinateur, de même que pour divers usages.
* //**[[utilisateur|Qu'est-ce qu'un compte d'utilisateur?]]**//
''adduser'' est un outil en mode console permettant de créer un compte d'utilisateur de manière interactive. Il s'agit d'un script Perl propre à Debian et les distributions qui lui sont dérivées -- comme Ubuntu -- posant des questions à propos d'un compte à créer, puis invoque le programme ''[[usermod]]'' en lui passant en arguments les informations récupérées. Cet outil est donc très facile et intuitif à utiliser. ''addgroup'' est son pendant en ce qui concerne la création d'un groupe d'utilisateurs.
Seul un [[sudo|administrateur du système]] est en mesure de créer un nouveau compte ou groupe d'utilisateur.
===== adduser =====
La commande ''adduser'', invoquée par un compte d'administration, démarre le script de création de compte d'utilisateur : sudo adduser identifiant
Sont ensuite demandées, une à une, les informations à affecter au nouveau compte d'utilisateur. Appuyer sur la touche [Entrée] du clavier enregistre l'information renseignée et passe à la question suivante.
Lorsque toutes les informations requises ont été récupérées, un récapitulatif est présenté à l'administrateur. Celui-ci doit alors confirmer la création du nouveau compte ou recommencer l'opération. Sur confirmation des informations, le script appelle ''[[useradd]]'' pour créer le nouveau compte et crée un nouveau dossier personnel à partir de la structure contenue dans le répertoire ''/etc/skel/''.
Certaines options peuvent être précisées à ''adduser'', pour fournir certains paramètres supplémentaires. Consultez [[man>adduser|le manuel de adduser (en)]] pour lire davantage à propos de ces options.
==== Exemple ====
administrateur@ordinateur:~$ sudo adduser jdoe
[sudo] password for administrateur:
Adding user `jdoe' ...
Adding new group `jdoe' (1001) ...
Adding new user `jdoe' (1001) with group `jdoe' ...
Creating home directory `/home/jdoe' ...
Copying files from `/etc/skel' ...
Entrez le nouveau mot de passe UNIX : (nouveau mot de passe)
Retapez le nouveau mot de passe UNIX : (mot de passe répété)
passwd : le mot de passe a été mis à jour avec succès
Changing the user information for jdoe
Enter the new value, or press ENTER for the default
Full Name []: John Doe
Room Number []: 333, rue des Érables
Work Phone []: (555) 123-4567
Home Phone []: (555) 987-6543
Other []: john@doe.com
Is the information correct? [Y/n] y
administrateur@ordinateur:~$ _
Pour forcer l'utilisateur à changer de mot de passe lors de sa première connexion, vous pouvez utiliser la commande passwd. Consultez [[man>passwd|le manuel de passwd (en)]] pour en savoir davantage.
administrateur@ordinateur:~$ sudo passwd -e jdoe
passwd : expiration du mot de passe modifiée.
===== addgroup =====
La commande ''addgroup'', invoquée par un compte d'administration, démarre le script de création de groupe d'utilisateurs : sudo addgroup nom_groupe
Aucune autre information n'a à être saisie. Certaines options peuvent être précisées à ''addgroup'', pour fournir certains paramètres supplémentaires. Consultez [[man>addgroup|le manuel de addgroup (en)]] pour lire davantage à propos de ces options.
Pour affecter un compte d'utilisateur à ce nouveau groupe, utilisez ''adduser'' de la manière suivante : sudo adduser identifiant nom_groupe
où ''identifiant'' est un identifiant de compte d'utilisateur existant. Le compte doit déjà exister; la commande ne fonctionne pas avec un compte qui n'existe pas.
==== Exemple =====
administrateur@ordinateur:~$ sudo addgroup famille
[sudo] password for administrateur:
Adding group `famille' (GID 1002) ...
Done.
administrateur@ordinateur:~$ sudo adduser jdoe famille
Adding user `jdoe' to group `famille' ...
Adding user jdoe to group famille
Done.
===== Créer un compte ou un groupe d'utilisateurs de manière non-interactive =====
''adduser'' et ''addgroup'' sont des outils interactifs, c'est-à-dire qu'ils posent une série de questions à laquelle doit répondre l'administrateur pour que le compte ou le groupe d'utilisateurs soit créé. Ceci est intéressant pour créer un seul compte ou groupe, mais devient handicapant pour en créer plusieurs à la fois. ''adduser'' et ''addgroup'' ne sont pas //scriptables//. Pour utiliser un outil non-interactif, renseignez-vous à propos de :
* [[useradd]] pour les comptes d'utilisateur
* [[groupadd]] pour les groupes d'utilisateurs
===== Fichiers impactés =====
Les commandes ci-dessus modifient les fichiers systèmes suivants qu'il est évidemment fortement déconseillé de modifier manuellement :
/etc/passwd
/etc/shadow
/etc/group
Le fichier /etc/passwd contient les informations suivantes sur les comptes utilisateurs :
nom_utilisateur:mot_de_passe:uuid:guid:commentaire:home:shell
* nom_utilisateur correspond au login de l'utilisateur.
* mot_de_passe correspond au mot de passe de l'utilisateur remplacé par un x pour des raisons de sécurité.
* uuid correspond à l'identifiant système de l'utilisateur.
* guid correspond au groupe principal de l'utilisateur.
* commentaire (parfois appelé [[wpfr>Champ_Gecos|champ GECOS]]) correspond à un commentaire textuel sur l'utilisateur qui est souvent son nom réel (Prénom et Nom) et autres informations (n° bureau, téléphone..) séparées par des virgules.
* home correspond au répertoire home de l'utilisateur sur ce système, /dev/null si compte sans home (sur un serveur).
* shell correspond à l'interpréteur shell par défaut de l'utilisateur, /bin/false pour interdire l'utilisation du shell (sur un serveur).
extrait de [[http://dev.petitchevalroux.net/linux/format-etc-passwd-linux.217.html|détails du fichier /etc/passwd]]
Joy boy is back
===== Voir aussi =====
* **(fr)** [[:tutoriel:gestion_utilisateurs_et_groupes_en_ligne_de_commande|Tutoriel gestion des utilisateurs et groupes en ligne de commande]]