Les utilisateurs

D'origine, les systèmes Linux sont multi-utilisateurs. Ainsi, pour pouvoir utiliser une machine, il est nécessaire de s'identifier au moyen d'un nom d'utilisateur et d'un mot de passe. Chacun aura donc son propre compte et son propre environnement. Les possibilités de personnalisation de ce dernier sont assez poussées.


La gestion des droits

Nous verrons dans un chapitre suivant comment Linux gère les droits d'accès au niveau du système de fichier et des ressources.

Les utilisateurs doivent faire partie de groupes. Et c'est l'appartenance à ces groupes qui permettent de recevoir plus ou moins de droits.

À l'origine, Linux était très strict quant à l'autorisation des accès aux ressources. Cette manière de faire est particulièrement bien adapté pour un usage en entreprise où les utilisateurs ne peuvent pas faire n'importe quoi. Aujourd'hui, les règles sont un peu plus souples, ce qui est mieux adapté à l'usage d'ordinateurs familiaux. Cela a fortement inspiré d'autres systèmes d'exploitation plus populaires.


Le super-utilisateur

Il existe un utilisateur spécial appelé "super-utilisateur". Généralement son nom d'utilisateur est root. Cet utilisateur possède tous les droits et a accès à toutes les ressources de la machine.

Il est fortement déconseillé d'utiliser ce compte pour l'utilisation journalière de votre machine. Il s'agit d'un compte qui ne devrait être utilisé que pour la gestion de la machine. Certaines distributions modernes "cachent" d'ailleurs cet utilisateur. Il n'est pas possible de s'identifier avec ce compte, mais il peut être utilisé pour des tâches d'administration.

Un attention particulière doit être portée à la sécurité de cet utilisateur. En effet, si une personne malveillante arrive à craquer ce compte, il peut faire ce qu'il veut de votre machine.


Les fichiers de configuration

Comme pour la plupart des applications sous Linux, la liste des utilisateurs et des groupes sont dans des fichiers texte.


Liste des utilisateurs

La liste des utilisateurs se trouve dans le fichier /etc/passwd. Chaque ligne de ce fichier correspond à un utilisateur. Pour chaque utilisateur le fichier contient toute une série d'informations séparée par un :. Voici la structure de chaque ligne :

username:password:userid:groupid:full_name:home:shell


username

Nom d'utilisateur utilisé pour s'identifier.


password

Mot de passe crypté. À l'origine, le mot de passe se trouvait dans ce fichier. Comme ce dernier peut être lu par tous les utilisateurs du système, il était la cible de tous les pirates. Un mot de passe vide signifiait un compte sans mot de passe. De plus, les mots de passe pouvaient faire l'objet d'une tentative de décryptage. Aujourd'hui, le mot de passe est très souvent x. Cela signifie qu'il faut aller le lire dans le fichier /etc/shadow.


userid

Nombre servant à identifier l'utilisateur par le système.


groupid

Nombre correspondant à l'identifiant du groupe principal de l'utilisateur.


full_name

Nom complet de l'utilisateur.


home

Répertoire personnel de l'utilisateur.


shell

Interpréteur de commande qui sera utilisé lorsque l'utilisateur se connectera en mode console.


Voici un exemple de fichier /etc/passwd.

  • sebas@*****:~$ ls -la /etc/passwd
  • -rw-r--r-- 1 root root 3725 jun 20 21:07 /etc/passwd
  • sebas@*****:~$ cat /etc/passwd
  • 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
  • www-data:x:33:33:www-data:/var/www:/bin/sh
  • backup:x:34:34:backup:/var/backups:/bin/sh
  • sebas:x:1000:1000:Sébastien Adam,,,:/home/sebas:/bin/bash

Comme nous l'avons vu précédemment, les mots de passes sont maintenant conservés le plus souvent dans le fichier /etc/shadow uniquement lisible par le super-utilisateur. Pour chaque entrée dans le fichier /etc/passwd dont le mot de passe est x, il faut une entrée correspondante dans ce fichier. La structure de ce fichier est la suivante :

  • username:password:last_change:min_age:max_age:warning_period:inactivity_period:validity:reserved

username

Nom d'utilisateur correspondant au fichier /etc/passwd.


password

Mot de passe crypté. S'il s'agit d'un ! ou un *, ce compte ne pourra pas être utilisé pour s'identifier.


last_change

Date du dernier changement de mot de passe exprimée en jours depuis le 1er janvier 1970.


min_age

Nombre de jours minimum avant de pouvoir changer de mot de passe.


max_age

Nombre de jours maximum avant de devoir changer de mot de passe.


warning_period

Nombre de jours avant l'expiration du mot de passe où l'utilisateur sera averti qu'il doit changer de mot de passe. Si ce champ est vide ou égal à 0, l'utilisateur ne sera pas averti.


inactivity_period

Nombre de jours après l'expiration du mot de passe où ce dernier est toujours accepté. Pendant cette période, l'utilisateur sera obligé de changer son mot de passe. Si ce champ est vide ou égal à 0, l'utilisateur ne pourra plus se connecter après l'expiration de son mot de passe.


validity

Date à partir de laquelle le compte sera désactivé exprimée en jours depuis le 1er janvier 1970. Si ce champ est vide ou égal à 0, le compte n'expire jamais.


reserved

Champ réservé à un usage ultérieur.


Voici un exemple de fichier /etc/shadow.

  • sebas@*****:~$ ls -la /etc/shadow
  • -rw-r----- 1 root shadow 2394 jun 20 21:07 /etc/shadow
  • root@*****:/home/sebas# cat /etc/shadow
  • root:!:15466:0:99999:7:::
  • daemon:*:15453:0:99999:7:::
  • bin:*:15453:0:99999:7:::
  • sys:*:15453:0:99999:7:::
  • www-data:*:15453:0:99999:7:::
  • backup:*:15453:0:99999:7:::
  • sebas:mot_de_passe_crypte:15466:0:99999:7:::

Liste des groupes

La liste des groupes se trouve dans le fichier /etc/group. Chaque ligne de ce fichier correspond à un groupe. Pour chaque groupe le fichier contient toute une série d'informations séparée par un :. Voici la structure de chaque ligne :

  • group_name:password:groupid:user_list

group_name

Nom du groupe.


password

Mot de passe crypté. Ce mot de passe est utilisé pour permettre à un utilisateur de faire partie temporairement de ce groupe. Aujourd'hui, le mot de passe est très souvent x. Cela signifie qu'il faut aller le lire dans le fichier /etc/gshadow sur le même principe que pour les utilisateurs.


groupid

Nombre correspondant à l'identifiant du groupe.


user_list

Liste des utilisateurs faisant partie du groupe séparés par une virgule.

2 3 4 5 6
Retour