Ajouter/retirer utilisateur Linux

De knowledge
Aller à la navigation Aller à la recherche

Il y a pas mal de méthodes pour ajouter et retirer des utilisateurs.

  1. Directement en modifiant /etc/passwd, /etc/group, /etc/shadow et en lui créant un home directory... "à la main".
  2. Le quatuor adduser/deluser deluser/delgroup
  3. Le quatuor useradd/userdel groupadd/groupdel ce sont mes préférés!

La solution 1 c'est la base. Si on comprends comment marche linux (unix en l'occurrence) c'est le plus simple mais il ne faut pas se tromper entre les uid, gid, pathe et passwords. Certains s'étaient crées de scrips pour éviter les erreurs et... c'est ce qui à amené aux deux solutions (2 et 3).

Maintenant adduser ou useradd....

adduser

$ sudo adduser user
Adding user `user' ...
Adding new group `user' (1001) ...
Adding new user `user' (1001) with group `user (1001)' ...
Creating home directory `/home/user' ...
Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for user
Enter the new value, or press ENTER for the default
        Full Name []: Test user
        Room Number []: 203
        Work Phone []:
        Home Phone []:
        Other []: This is for test purpose
Is the information correct? [Y/n] y
Adding new user `user' to supplemental / extra groups `users' ...
Adding user `user' to group `users' ...
$

On a droit a plein de questions qui, dans le cas de l'accès à une simple serveur perso n'ont pas vraiment de sens. On remarque que, par défaut on a également un groupe qui est crée.

La commande a crée une ligne dans /etc/passwd

user:x:1001:1001:Test user,203,,,This is for test purpose:/home/user:/bin/bash

un autre ligne dans /etc/group

users:x:100:admin,user

Et le mot de passe saisi se retrouve dans /etc/shadow

user:$y$j9T$VRcKxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxOsiIh/A:20129:0:99999:7:::

Un répertoire dans /home

drwx------ 2 user user 4096 Feb 10 16:45 /home/user

Et même une entrée dans la crontab pour ses éventuelles tâches planifiées.

Pour effacer cet utilisateur un simple:

$ sudo deluser user
Removing crontab ...
Removing user `user' ...
Done.
$

Ce n'est pas dit mais le grouppe users:x:100:admin,user dans /etc/group est détruit aussi.

useradd

$ sudo useradd user
$

Et... c'est fait. J'aime beaucoup!

Le /etc/passwd est aussi plus concis:

user:x:1001:1001::/home/user:/bin/bash

Que le nécessaire! A noter qu'un groupe a également été crée :

user:x:1001:

pour supprimer on utilise

$ sudo userdel user
$

Et c'est fait.

Attention cependant aucun mot de passe n'est créé. Dans /etc/shadow on a:

user:!:20129:0:99999:7:::

le "!" indique "aucun pot de passe". Pour qu'un utilisateur puisse se connecter il faudra en créer un avec :

sudo passwd user

Le couple useradd et userdel est donc à préférer selon moi.