Utilisateurs
Linux : Gestion des utilisateurs
Un utilisateur Linux est défini par un couple login-mdp, un dossier personnel, l'appartenance à des groupes, et des droits en écriture/lecture/exécution spécifiques. Il existe différents types d'utilisateurs:
- Les utilisateurs limités
- Root
Pour ajouter un utilisateur au groupe des sudoers:
sudo adduser login sudo #Ou login est le nom de l'utilisateur
Les trois fichiers de configuration importants par rapport aux utilisateurs sont:
-/etc/passwd : chaque ligne contient des informations détaillées sur un utilisateur (login, UID, home...)
-/etc/shadow : contient les mots de passe hashés
-/etc/group : contient la liste des groupes avec leur membres
Fichier passwd
Un examen de ce fichier me donne:
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
[...]
justine:x:1000:1000:Justine,,,:/home/justine:/bin/bash
La dernière ligne me donne le nom de mon utilisateur, avec des champs séparés par ":"; voici chaque champ:
- login
- mots de passe, avec un x car ils sont dans shadow
- UID, ici 1000
- GID du groupe de l'utilisateur, ici 1000 aussi
- Nom complet GECOS
- Home
- Interpréteur de commandes
Les utilisateurs de services ont moins d'éléments, mais le schéma reste le même.
Le fichier Shadow
root:!:17808:0:99999:7:::
daemon:*:17737:0:99999:7:::
bin:*:17737:0:99999:7:::
sys:*:17737:0:99999:7:::
sync:*:17737:0:99999:7:::
games:*:17737:0:99999:7:::
man:*:17737:0:99999:7:::
lp:*:17737:0:99999:7:::
mail:*:17737:0:99999:7:::
news:*:17737:0:99999:7:::
uucp:*:17737:0:99999:7:::
[...]
justine:$6$hKjtbqIS$8vlyqhW977ds6d8bK/Bkuat8OfVbet1uGY8DgoRDqcUZCAZ.ED9pUQHb/ZaUcOyQxGy3tl6nBubtS/wwifcRZ1:17808:0:99999:7:::
- Login
- Hash du mot de passe
- Nombre de jours depuis le changement de mots de passe en temps UNIX (1er janvier 1970)
- Nombre de jours avant de pouvoir le changer
- Nombre de jours avant de devoir changer de mdp (99999)
- Nombre de jours avant la fin de validité du mot de passe
Création d'utilisateurs
Permet de créer l'utilisteur Alice (il existe aussi useradd, plus adapté pour les scripts car pas interactif).
Suppression d'utilisateurs
Sans option, cette commande laisse des traces. On peut ajouter par exemple --remove-home
Changer les groupes, les login
sudo usermod -aG groupe1, groupe2 Alice #Ajoute Alice dans ces groupes sans l'enlever de son groupe de base
sudo usermod -l Alice-Nouveau-Login Alice #Transforme Alice en Alice-Nouveau-Login