« Utilisateurs » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 14 : | Ligne 14 : | ||
*Primaires (initiaux): Groupe par défaut d'un utilisateur, qui porte son nom; créé en même temps que son login. On peut en changer mais pas être orphelin. | *Primaires (initiaux): Groupe par défaut d'un utilisateur, qui porte son nom; créé en même temps que son login. On peut en changer mais pas être orphelin. | ||
*Secondaires : groupes supplémentaires. | *Secondaires : groupes supplémentaires. | ||
---- | ---- | ||
Ligne 52 : | Ligne 52 : | ||
=== Le fichier Shadow === | === Le fichier Shadow === | ||
<div style="background:#eeeeee; border:1px solid #cccccc; padding:5px 10px"> | <div style="background:#eeeeee; border:1px solid #cccccc; padding:5px 10px"> | ||
root:!:17808:0:99999:7:::<br/> daemon:*:17737:0:99999:7:::<br/> bin:*:17737:0:99999:7:::<br/> sys:*:17737:0:99999:7:::<br/> sync:*:17737:0:99999:7:::<br/> games:*:17737:0:99999:7:::<br/> man:*:17737:0:99999:7:::<br/> lp:*:17737:0:99999:7:::<br/> mail:*:17737:0:99999:7:::<br/> [[news:*:17737:0:99999:7|news:*:17737:0:99999:7]]:::<br/> uucp:*:17737:0:99999:7::: | root:!:17808:0:99999:7:::<br/> daemon:*:17737:0:99999:7:::<br/> bin:*:17737:0:99999:7:::<br/> sys:*:17737:0:99999:7:::<br/> sync:*:17737:0:99999:7:::<br/> games:*:17737:0:99999:7:::<br/> man:*:17737:0:99999:7:::<br/> lp:*:17737:0:99999:7:::<br/> mail:*:17737:0:99999:7:::<br/> [[[news:*:17737:0:99999:7|news:*:17737:0:99999:7|[1]]]]:::<br/> uucp:*:17737:0:99999:7::: | ||
[...] | [...] | ||
Ligne 76 : | Ligne 76 : | ||
<div style="background:#eeeeee; border:1px solid #cccccc; padding:5px 10px">sudo deluser Alice</div> | <div style="background:#eeeeee; border:1px solid #cccccc; padding:5px 10px">sudo deluser Alice</div> | ||
Sans option, cette commande laisse des traces. On peut ajouter par exemple --remove-home | Sans option, cette commande laisse des traces. On peut ajouter par exemple --remove-home | ||
| |||
=== Changer les groupes, les login === | === Changer les groupes, les login === | ||
<div style="background:#eeeeee; border:1px solid #cccccc; padding:5px 10px">sudo usermod -g groupe1 Alice #Changer le groupe d'appartenance d'Alice<br/> sudo usermod -aG groupe1, groupe2 Alice #Ajoute Alice dans ces groupes sans l'enlever de son groupe de base<br/> sudo usermod -l Alice-Nouveau-Login Alice #Transforme Alice en Alice-Nouveau-Login</div> | <div style="background:#eeeeee; border:1px solid #cccccc; padding:5px 10px">sudo usermod -g groupe1 Alice #Changer le groupe d'appartenance d'Alice<br/> sudo usermod -aG groupe1, groupe2 Alice #Ajoute Alice dans ces groupes sans l'enlever de son groupe de base<br/> sudo usermod -l Alice-Nouveau-Login Alice #Transforme Alice en Alice-Nouveau-Login</div> <blockquote> | ||
NB : Pour que les changements de groupes soient effectifs, il faut se déco/reco | NB : Pour que les changements de groupes soient effectifs, il faut se déco/reco | ||
</blockquote> | </blockquote> | ||
=== Gérer les groupes === | === Gérer les groupes === | ||
Les groupes sont gérés par le fichier /etc/group: | Les groupes sont gérés par le fichier /etc/group: | ||
<div style="background:#eeeeee; border:1px solid #cccccc; padding:5px 10px"> | <div style="background:#eeeeee; border:1px solid #cccccc; padding:5px 10px"> | ||
root:x:0:<br/> daemon:x:1:<br/> bin:x:2:<br/> sys:x:3:<br/> adm:x:4:syslog,justine<br/> tty:x:5:<br/> disk:x:6:<br/> lp:x:7:<br/> mail:x:8: | root:x:0:<br/> daemon:x:1:<br/> bin:x:2:<br/> sys:x:3:<br/> adm:x:4:syslog,justine<br/> tty:x:5:<br/> disk:x:6:<br/> lp:x:7:<br/> mail:x:8: | ||
Ligne 97 : | Ligne 97 : | ||
=== Créer / supprimer des groupes === | === Créer / supprimer des groupes === | ||
<div style="background:#eeeeee; border:1px solid #cccccc; padding:5px 10px">sudo addgroup Groupe #Créer un groupe<br/> <br/> sudo delgroup MonGroupe #Supprime un groupe, group del existe aussi</div> | <div style="background:#eeeeee; border:1px solid #cccccc; padding:5px 10px">sudo addgroup Groupe #Créer un groupe<br/> <br/> sudo delgroup MonGroupe #Supprime un groupe, group del existe aussi</div> | ||
=== === | === === | ||
=== Lister les groupes === | === Lister les groupes === | ||
<div style="background:#eeeeee; border:1px solid #cccccc; padding:5px 10px"> | <div style="background:#eeeeee; border:1px solid #cccccc; padding:5px 10px"> | ||
justine@Justine-pc:~$ id<br/> uid=1000(justine) gid=1000(justine) groups=1000(justine),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare) | justine@Justine-pc:~$ id<br/> uid=1000(justine) gid=1000(justine) groups=1000(justine),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare) | ||
#Cette commande est assez explicite, elle me donne les groupes auxquels j'appartient. On a aussi: | #Cette commande est assez explicite, elle me donne les groupes auxquels j'appartient. On a aussi: | ||
justine@Justine-pc:~$ groups justine<br/> justine : justine adm cdrom sudo dip plugdev lpadmin sambashare | justine@Justine-pc:~$ groups justine<br/> justine : justine adm cdrom sudo dip plugdev lpadmin sambashare | ||
</div> | </div> |
Version du 16 octobre 2018 à 21:27
Linux : Gestion des utilisateurs et groupes
Utilisateur
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
Groupes
Un groupe est un ensemble d'utilisateurs partageant des fichiers et des répertoires. Il en existe deux types:
- Primaires (initiaux): Groupe par défaut d'un utilisateur, qui porte son nom; créé en même temps que son login. On peut en changer mais pas être orphelin.
- Secondaires : groupes supplémentaires.
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:::
[[[1]]]:::
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
NB : Pour que les changements de groupes soient effectifs, il faut se déco/reco
Gérer les groupes
Les groupes sont gérés par le fichier /etc/group:
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:syslog,justine
tty:x:5:
disk:x:6:
lp:x:7:
mail:x:8:
[...]
- Nom du groupe
- Mot de passe du groupe, inscrit avec un x car dans shadow
- GID
- Liste des utilisateurs présents dans le groupe
Créer / supprimer des groupes
sudo delgroup MonGroupe #Supprime un groupe, group del existe aussi
Lister les groupes
justine@Justine-pc:~$ id
uid=1000(justine) gid=1000(justine) groups=1000(justine),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare)
- Cette commande est assez explicite, elle me donne les groupes auxquels j'appartient. On a aussi:
justine@Justine-pc:~$ groups justine
justine : justine adm cdrom sudo dip plugdev lpadmin sambashare