Cours LINUX(UNIX)
SECURITES DES FICHIERS
(Chapitre 3)
I/INTRODUCTION :
A chaque fichier est associé un ensemble de permissions qui octroient les droits d’accès en
lecture, en écriture ou en exécution au propriétaire lui- même, aux membres de son groupe de
travail ou au différents autres utilisateurs du système .
II/NOTIONS D’UTILISATEUR ET DE GROUPE :
II-1/ l’utilisateur :
Au login, l'utilisateur doit introduire sont identificateur, qui correspond d’un nombre uid
reconnu par le système.
Pour connaitre les groupes définis dans un système, on peut consulter le fichier /etc/passwd.
Ce fichier comprend 7 champs, séparés par le symbole « : »
nom de connexion (encore appelé nom d'utilisateur ou login)
ancienne place du mot de passe crypté
numéro d'utilisateur uid, sa valeur est le véritable identifiant pour le système Linux ;
l'uid de root est 0, le système attribue conventionnellement un uid à partir de 1000 aux
comptes créés.
numéro de groupe gid, dans lequel se touve l'utilisateur par défaut ; le gid de root est 0,
les groupes d'utilisateurs au-delà de 1000
nom complet, il peut être suivi d'une liste de renseignements personnels (modifiable par
la commande chfn)
rép. personnel (c'est également le rép. de connexion)
shell, interprétateur de commandes (par défaut /bin/bash)
Remarque : les mots de passes des utilisateurs anciennement placé sur le 2ème champ, sont
aujourd’hui placé dans un fichier séparé dont le seul utilisateur autorisé a affiché le contenu
est le ROOT. Ce fichier est le : /etc/shadow.
II-2/ Le groupe :
Le groupe d’utilisateurs est l’ensemble d’utilisateurs qui peuvent partager les mêmes fichiers,
ou qui travaillent sur le même projet Chaque groupe est identifié par son nom et par un
identificateur unique, le gid.
Pour connaitre les groupes définis dans un système, on peut consulter le fichier /etc/group.
Ce fichier comprend 4 champs, séparés par le symbole « : »
1
Cours LINUX(UNIX)
nom du groupe
x pour remplacer un mot de passe non attribué maintenant
numéro de groupe, c.-à-d. l'identifiant gid
la liste des membres du groupe
Pour Connaitre l'uid et le gid de l'utilisateur courant, on utilise la commande id dont le résultat
ressemble à ce qui suit :
uid=1000(ubuntu) gid=1000(ubuntu) groups=1000(ubuntu)
Pour décrire un utilisateur on utilise la commande : chfn
Cette commande permet d'indiquer dans le champ numéro 5 du fichier /etc/passwd différentes
informations sur un utilisateur, son nom complet, son bureau, ses numéros de téléphone
(séparées par des virgules).
III/ LES DROITS D’ACCES D’UN FICHIER :
Les droit d’accès d’un fichier forment un ensemble de trois groupes de trois caractères chacun :
rwx rwx rwx
r pour read (lecture)
w pour write (écriture)
x pour execute (exécuter)
Pour l’Utilisateur, Son Groupe et pour les autres (User, Group, Others).
La signification des mentions de ses groupes diffère selon qu’il s'agit d’un fichier ordinaire,
d’un fichier spécial ou d’un fichier répertoire.
pour un fichier ordinaire :
o r : droit d’accès en lecture
o w : droit d’accès en écriture
o x : droit d’exécution si le fichier est exécutable.
pour un répertoire :
o r : droit de lecture du contenu (ls)
o w : droit de créer / supprimer des fichiers (cp,mv)
o x : droit d’opérer dans le répertoire (cd)
IV/ CHANGEMENT DE DROIT D’ACCES :
A la création d’un fichier ou répertoire, c’est le système (kernel) qui se charge d’accorder ou
de refuser la permission au propriétaire, aux membres du groupe et aux autres.
Ses permissions peuvent etre modifiée avec la commande chmod.
Seul le propriétaire d’un fichier ou d’un répertoire peut changer les permissions. En effet, il
peut décider qui sera autorisé à lire, modifier, créer, supprimer et utiliser ses fichiers et
repertoires, et à qui cela sera interdit.
2
Cours LINUX(UNIX)
Le changement des droits d’accès peut se faire en deux modes :
Symbolique
Absolu
Notion symbolique :
La syntaxe de la commande chmod est :
$chmod sujet [operateur] [permission] fichier(s).
Sujet :
u : utilisateur et propriétaire
g : membre du groupe de l’utilisateur
u : autres utilisateurs du système
a : tout le monde
Operateur :
+ : ajouter des droits
- : enlever les droits
= : valider les droits cités dans la commande et enlever
les autres
Permission :
r : lecture (fichier)
: affichage (répertoire)
w : écriture (fichier)
: création ou suppression (répertoire)
x : exécution (fichier)
: droit d’opérer (répertoire)
Exemple :
$chmod u+x [Link]
On ajoute le droit de l’exécution à l’utilisateur.
Notion absolue
La syntaxe de la commande chmod est :
$chmod mode fichier(s).
mode : est la représentation octale des permission :
Lecture = 4 (100)
Écriture = 2 (010)
Exécution = 1 (001)
Exemple :
$chmod 777 [Link]
On donne les droits de (4 + 2 + 1 = 7 lecture écriture et exécution) a l’utilisateur, son groupe
et les autres utilisateurs pour le fichier [Link].
$chmod 711 [Link]
3
Cours LINUX(UNIX)
On donne les droits de (4 + 2 + 1 = 7 lecture écriture et exécution) a l’utilisateur et le droit
d’exécution a son groupe et les autres utilisateurs.
V/ CHANGEMENT DE PROPRIETAIRE ET DE GROUPE
V-1/ changement de propriétaire :
Sous unix le propriétaire a tous les droits sur ses fichiers. En effet, il a le droit de transférer le
propriété d’un fichier ou d’un répertoire vers un autre utilisateur. Pour se faire il doit utiliser la
commande chown (change owner)
Attention ! Le changement de propriétaire fait perdre a celui-ci tout droit d’accès sur ce fichier,
même celui de restaurer la propriété, sauf les droits permis pour les autres.
Syntaxe de chown est :
$chown USER2 fichier
V-2/ changement de groupe :
Un utilisateur peut choisir pour une de ses fichiers ou répertoires un groupe autre que celui
assigné normalement par le kernel. Cette procédure est réalisable par la commande
chgrp.(change groupe).
La syntaxe de la commande chgrp est :
$chgrp nouveau_groupe fichiers