Adduser et Addgroup

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.

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 administrateur du système est en mesure de créer un nouveau compte ou groupe d’utilisateur.

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 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 le manuel de passwd (en) pour en savoir davantage.

administrateur@ordinateur:~$ sudo passwd -e jdoe
passwd : expiration du mot de passe modifiée.

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

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é 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 détails du fichier /etc/passwd

 

Modifier le nom d’un utilisateur et/ou d’un groupe existant :

Pour un utilisateur
usermod -l nouvel_identifiant -d /home/nouvel_identifiant -m identifiant_actuel
Pour un groupe
groupmod --new-name nouveau-nom ancien-nom
Modifier gid d'un groupe
groupmod --gid 1014 nom-groupe

Modifie le gid du groupe nom-groupe pour 1014. Le gid doit être un entier non négatif compris, de préférence, à partir de 1000 car le numéro gid compris entre 1 et 999 sont généralement attribués aux groupes systèmes. Si on tente d’attribuer à un groupe un gid déjà existe la commande renvoie une erreur indiquant que le numéro gid existe déjà. Pour attribuer un gid déjà existant à un groupe, il faut utiliser l’option --non-unique ou -o

groupmod -og 1002 nom-groupe

Modifie le gid du groupe nom-groupe pour 1002. L’option -o s’utilise uniquement avec l’option -g et dans cet ordre : -go