Ajouter/retirer utilisateur Linux
Il y a pas mal de méthodes pour ajouter et retirer des utilisateurs.
- Directement en modifiant
/etc/passwd
,/etc/group
,/etc/shadow
et en lui créant un home directory... "à la main". - Le quatuor
adduser/deluser deluser/delgroup
- 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.