« Le système d'exploitation GNU-Linux/Les utilisateurs et groupes » : différence entre les versions

Contenu supprimé Contenu ajouté
première version
 
Aucun résumé des modifications
Ligne 4 :
 
* contient la liste des utilisateurs, un par ligne
* contient d'autres informations relatives aux utilisateurs, dont notamment les '''UID''' ('''U'''ser '''ID'''entifiant) et '''GID''' ('''G'''roup '''ID'''entifiant)
* contenait autrefois les mots de passe chiffrés de chaque utilisateur, mais désormais ces mots de passe sont stockés dans le fichier '''/etc/shadow'''
 
Le format de ce fichier est indiqué dans la page de manuel du fichier de configuration passwd (section 5) :
Ligne 13 :
- nom de connexion de l’utilisateur (« login »)
- un mot de passe chiffré optionnel
- l’identifiant numérique de l’utilisateur (UID)
- l’identifiant numérique du groupe de l’utilisateur (GID)
- le nom complet de l’utilisateur (champ GECOS)
- le répertoire personnel de l’utilisateur
- l’interpréteur de commandes de l’utilisateur
 
La majorité des comptes définis dans ce fichier sont des comptes administratifs ne servant uniquement à l'executionexécution de certaines applications (daemons). Ainsi, les processus fonctionnant avec ces comptes sont limités par les droits d'accés de ces derniers.
 
 
Ligne 43 :
- champ réservé
 
La commande '''chage''' permet de changer les informations relatives à l'expiration des mots de passe (man chage).
 
TODO : parler du SALT
 
=== /etc/group ===
 
* contient la liste des groupes, un par ligne
* pour chaque groupe, le numéro du groupe ('''GID''')
* les membres du groupe
 
Ligne 61 ⟶ 62 :
- tous les noms des membres du groupe, séparés par des virgules
 
TODO : parler des mots de groupe, du fichier /etc/gshadow, et des commandes '''gpasswd''' et '''newgrp'''
 
La commande '''groups''' permet de connaitre les groupes dont je fais parti :
 
$ groups
Ligne 77 ⟶ 78 :
 
=== Ajouter un utilisateur ===
 
La commande '''useradd''' permet d'ajouter des utilisateurs. Le fichier '''/etc/default/useradd''' contient les paramêtres par défaut de la commande.
 
Invoqué sans option, cette commande crée l'utilisateur, mais le compte n'est pas activé. De plus, elle n'a pas crée le répertoire de travail de l'utilisateur.
 
# useradd paul
# grep paul /etc/passwd
paul:x:1002:1002::/home/paul:/bin/sh
# grep paul /etc/shadow
paul:!:13823:0:99999:7:::
# grep paul /etc/group
paul:x:1002:
# ls -al /home/paul
ls: /home/paul: Aucun fichier ou répertoire de ce type
 
Sous Debian, on utilisera plutot la commande '''adduser''' qui offre plus d'options (positionnement du mot de passe et du champ GECOS à la création du compte, et création du répertoire de travail).
 
# adduser jacques
Ajout de l'utilisateur « jacques »...
Ajout du nouveau groupe « jacques » (1003)...
Ajout du nouvel utilisateur « jacques » (1003) avec le groupe « jacques »...
Création du répertoire personnel « /home/jacques »...
Copie des fichiers depuis « /etc/skel »...
Enter new UNIX password:
Retype new UNIX password:
passwd : le mot de passe a été mis à jour avec succès
Modification des informations relatives à l'utilisateur jacques
Entrez la nouvelle valeur ou « Entrée » pour conserver la valeur proposée
Nom complet []: Jacques
N° de bureau []: 123
Téléphone professionnel []: 01 02 03 04 05
Téléphone personnel []: 01 06 07 08 09
Autre []: Chef de projet
Ces informations sont-elles correctes ? [o/N] o
# grep jacques
/etc/passwdjacques:x:1003:1003:Jacques,123,01 02 03 04 05,01 06 07 08 09,Chef de projet:/home/jacques:/bin/bash
# grep jacques /etc/shadow
jacques:$1$OWMPkUFD$XnXmTUUJBGoLehbznyXUM/:13823:0:99999:7:::
# grep jacques /etc/group
jacques:x:1003:
# ls -al /home/jacques
total 20
drwxr-xr-x 2 jacques jacques 4096 2007-11-06 11:05 .
drwxr-xr-x 6 root root 4096 2007-11-06 11:05 ..
-rw-r--r-- 1 jacques jacques 220 2007-11-06 11:05 .bash_logout
-rw-r--r-- 1 jacques jacques 414 2007-11-06 11:05 .bash_profile
-rw-r--r-- 1 jacques jacques 2227 2007-11-06 11:05 .bashrc
 
La commande '''adduser''' dispose du fichier de configuration '''/etc/adduser.conf''' qui permet de positionner les valeurs par défaut de la commande. La commande '''adduser''' offrira plus d'options que la commande '''useradd'''.
 
La commande '''adduser''' permet aussi de rajouter facilement un utilisateur à un groupe donné :
 
Syntaxe : adduser ''<le login>'' ''<le groupe>''
 
Exemple :
 
# adduser pierre audio
 
Pour vérifier, on dispose de 3 possibilités :
- grep audio /etc/group
- id pierre
- groups pierre
 
Le répertoire '''/etc/skel''' (skeleton : squelette) contient les fichiers par défaut à copier dans les répertoires de travail des utilisateurs nouvellement créés.
 
=== Modifier un utilisateur ===
 
La commande '''usermod''' permet de modifier les informations relatives à un utilisateur donné.
 
Dans certains cas, il sera plus simple de modifier directement les fichiers '''/etc/passwd''' et '''/etc/group ''' plutôt que d'utiliser cette commande.
 
 
=== Supprimer un utilisateur ===
 
La commande '''userdel''' permet de supprimer des utilisateurs.
 
Sous Debian, on utilisera plutot la commande '''deluser''' qui offre plus d'options (notamment la possibilité de créer une archive de tous les fichiers de l'utilisateur avant de supprimer son répertoire de travail).
 
De la même manière que '''adduser''', la commande '''deluser''' dispose du fichier de configuration '''/etc/deluser.conf''' qui permet de spécifier son comportement par défaut.
 
== Gérer les groupes ==
 
=== Ajouter un groupe ===
 
La commande '''addgroup''' permet d'ajouter un groupe.
 
# groupadd compta
 
Sous Debian, on dispose de la commande '''addgroup''', qui est en réalité un lien vers la commande '''adduser'''.
 
# which addgroup
/usr/sbin/addgroup
# ls -l /usr/sbin/addgroup
lrwxrwxrwx 1 root root 7 2007-10-24 12:53 /usr/sbin/addgroup -> adduser
 
# addgroup compta
Ajout du groupe « compta » (identifiant 1004)...
Terminé.
 
 
=== Modifier un groupe ===
 
La commande '''groupmod''' permet de modifier les informations relatives à un groupe donné.
 
Dans certains cas, il sera plus simple de modifier directement le fichier '''/etc/group''' plutôt que d'utiliser cette commande.
 
=== Supprimer un groupe ===
 
La commande '''groupdel''' permet de supprimer des groupes.
 
Sous Debian, on dispose de la commande '''delgroup''', qui est en réalité un lien vers la commande '''deluser'''.
 
# which delgroup
/usr/sbin/delgroup
# ls -l /usr/sbin/delgroup
lrwxrwxrwx 1 root root 7 2007-10-24 12:53 /usr/sbin/delgroup -> deluser
 
 
=== Modifier manuellement les fichiers /etc/passwd, /etc/shadow, /etc/group et /etc/gshadow ===
 
Dans certains cas, il est plus simple d'éditer manuellement les fichiers de configuration '''/etc/passwd''', '''/etc/shadow''', '''/etc/group''' et '''/etc/gshadow''' plutôt que d'utiliser les commandes précédement évoquées.
 
Les commandes suivantes permettent de garantir qu'un seul root est en train de modifier un de ces fichiers :
 
- '''vipw''' : modification du fichier /etc/passwd
- '''vipw -s''' : modification du fichier /etc/shadow
- '''vigr''' : modification du fichier /etc/group
- '''vigr -s''' : modification du fichier /etc/gshadow
 
Pour plus d'information, se reporter aux pages de manuel ('''man vipw''' et '''man vigr''').