Dernière mise à jour : 26/05/2016
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.
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.
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.
Comme pour la plupart des applications sous Linux, la liste des utilisateurs et des groupes sont dans des fichiers texte.
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
password
x
. Cela
signifie qu'il faut aller le lire dans le fichier /etc/shadow
.
userid
groupid
full_name
home
shell
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
/etc/passwd
.
password
!
ou un *
, ce
compte ne pourra pas être utilisé pour s'identifier.
last_change
min_age
max_age
warning_period
0
,
l'utilisateur ne sera pas averti.
inactivity_period
0
, l'utilisateur ne pourra
plus se connecter après l'expiration de son mot de passe.
validity
0
, le
compte n'expire jamais.
reserved
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:::
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
password
x
. Cela signifie qu'il faut aller le lire dans le fichier
/etc/gshadow
sur le même principe que pour les utilisateurs.
groupid
user_list
© Sébastien Adam 1996 ~ 2023 - https://www.sebastienadam.be/ - .