OldGentooWiki:Gérer les utilisateurs et les groupes

De Gentoo-Quebec.

Gentoo-quebec+Funtoo-quebec.png

Gérer les utilisateurs et les groupes


Block 64.png
En construction !

Cette page est actuellement en construction. SVP, veuillez ne pas toucher à son contenu tant et aussi longtemps que ce message apparaît en début de page.

404_Error


Go-previous.png Index des trucs et astuces


Sommaire

Mise en contexte

Les systèmes Unix (et par extension les « comme Unix » tel que Linux) ont été dès le départ conçus pour héberger des sessions utilisateur interactives et les permissions/restrictions d'accès entre utilisateurs ont été mises en place dès l'origine. Pour la petite histoire, la sécurité que nous connaissons tire ses origines de MULTICS, lui-même descendant d'un des premiers systèmes à temps partagés de l'Histoire : Compatible TimeSharing System ou CTSS. Bref, la sécurité d'un système Unix/« comme Unix » telle que nous la connaissons actuellement est issue d'un héritage de presque 5 décennies !

Un peu de théorie...

Identifiant utilisateur

Une même machine Unix / « comme Unix » pouvant héberger plusieurs utilisateurs il est nécessaire que le système isole non seulement les différentes tâches les unes par rapport aux autres mais également conserve une trace de qui fait quoi et qui utilise quoi. A noter qu'il n'y a pas « d'anonymat », tout processus lancé ou fichier créé possède un propriétaire au sens du système. Étant donné qu'il est plus simple pour une machine de gérer des nombres que des chaînes de caractères, tous les utilisateurs se voient assigner un numéro (numéro d'identifiant utilisateur) s'étendant inclusivement de 0 à 65534 (15 bits) : le numéro d'identifiant utilisateur (User ID encore abrégé en UID).

Emblem-documents.png
Note !
  • Il n'existe pas de hiérarchie entre les valeurs numériques des UID (14 n'aura pas plus ou moins de privilèges que 21).
  • L'UID 0 est correspond toujours au super-utilisateur (root). Tout processus ayant comme propriétaire l'utilisateur 0 possède les pleins pouvoirs.

La liste de tous les identifiants utilisateurs (comptes utilisateurs) connus du système peut provenir de diverses sources dont :

  • Un annuaire LDAP
  • Les pages jaunes (yellow pages) NIS
  • Le fichier plat /etc/password :

La source utilisée par votre système est spécifiée dans le fichier /etc/nsswitch.conf qui est à la base configuré pour utiliser le fichier plat /etc/password qui est constitué d'une série d'enregisrements dont chacun comporte sept champs séparés par un deux-points comme illustré ci-dessous:

Exemple de code : Exemple de fichier /etc/password

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
proxy:x:13:13:proxy:/bin:/bin/sh
www-data:x:33:33:www-data:/var/www:/bin/sh
....
syslog:x:101:102::/home/syslog:/bin/false
klog:x:102:103::/home/klog:/bin/false
avahi-autoipd:x:103:110:Avahi autoip daemon,,,:/var/lib/avahi-autoipd:/bin/false
saned:x:104:112::/home/saned:/bin/false
messagebus:x:105:113::/var/run/dbus:/bin/false
polkituser:x:106:114:PolicyKit,,,:/var/run/PolicyKit:/bin/false
hplip:x:107:7:HPLIP system user,,,:/var/run/hplip:/bin/false
avahi:x:108:115:Avahi mDNS daemon,,,:/var/run/avahi-daemon:/bin/false
haldaemon:x:109:116:Hardware abstraction layer,,,:/var/run/hald:/bin/false
gdm:x:110:117:Gnome Display Manager:/var/lib/gdm:/bin/false:
postfix:x:112:123::/var/spool/postfix:/bin/false
kernoops:x:113:65534:Kernel Oops Tracking Daemon,,,:/:/bin/false
postgres:x:114:125:PostgreSQL administrator,,,:/var/lib/postgresql:/bin/bash
...
usager01:x:1000:1000:Une vraie personne avec 2 bras et 2 jambes :-):/home/usager01:/bin/bash
usager02:x:1001:1000:Une autre vraie personne avec 2 bras et 2 jambes :-):/home/usager01:/bin/bash
...
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh


  1. Nom du compte utilisateur
  2. Mot de passe chiffré de l'usager, si ce champ contient un simple x celà signifie que la machine utilise les shadow passwords (le mot de passe chiffré est alors contenu dans le fichier /etc/shadow qui est seulement lisible des processus ayant le niveau de privilège de l'administrateur système).
  3. Numéro identifiant utilisateur (UID)
  4. Numéro identifiant du groupe principal de l'usager (GID principal)
  5. Description de l'usager (en général le nom et prénom pour les personnes physiques)
  6. Chemin du répertoire personnel de l'utilisateur
  7. Shell à utiliser lors de l'ouverture de session (la plupart du temps il s'agira de BASH mais il est possible d'en spécifier un autre comme CSH ou PDKSH).


Warning 64.png
Attention !
  • Le shell utilisé doit figurer dans la liste des shells valides qui est elle contenue dans le fichier /etc/shells
  • /etc/password doit être lisible par tous les utilisateurs du systèmes car certaines commandes comme ls ou top s'en servent pour afficher de manière lisible le nom du propriétaire d'un fichier ou d'un processus.

Groupes d'utilisateurs

EUID, RUID ...

Gestion des utilisateurs et des groupes

Les commandes à connaaître


Outils personnels