securites des fichiers

publicité
Cours
de LINUX(UNIX)
Sécurité des fichiers
Chapitre3
SECURITES DES FICHIERS
Objectif:
Connaître les différents techniques de sécurité des fichiers sous UNIX
Prérequis:
Les chapitres précédents de ce cours d’UNIX.
Plan
I/ INTRODUCTION:
II/ NOTIONS D’UTILISATEUR ET DE GROUPE :
III/ LES DROITS D’ACCES D’UN FICHIER:
IV/ CHANGEMENT DE DROIT D’ACCES :
V/ CHANGEMENT DE PROPRIETAIRE ET DE GROUPE
VI/ L’INODE:
TAYARI Lassaad
Page 25
ISET DE NABEUL
Cours
de LINUX(UNIX)
Sécurité des fichiers
Chap 3
SECURITES DES FICHIERS
I/ INTRODUCTION:
A chaque fichier est associé un ensemble de permissions qui octroient les droits
d’accés en lecture, en ecriture ou en execution au propriétaire lui- même, aux membres de son
groupe de travail ou au differents autres utilisateurs du systéme .
II/ NOTIONS D’UTILISATEUR ET DE GROUPE :
1)l’utilisateur :
Au login, l'utilisateur doit introduire sont identificateur, qui correspond d’un nombre
uid reconnu par le systéme.
2) le groupe:
Le groupe d’utilisateurs est l’ensemble d’utilisateurs qui peuvent partager les memes
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 definis dans un systéme ,on tape:
$ cat /etc/group
root::0:root ,adm
sys::3:root,adm
group::50:user1,user2,user3,user4
On obtiens donc une liste des groupes dans le systéme. Chaque nom de groupe est suivi par
un champ libre, son gid et enfin l’ensemble des membres (utilisateurs) du groupe.
3) Connaitre les utilisateurs et les groupes :
le fichier / etc / passwd,qui est le fichier des mots de passe, il contient toute les
informations du login pour chaque utilisateur. Ce fichier ne peut etre modifié que par le superutilisateur, mais peut etre consulté par les autres avec la commande :
$ cat / etc/ passwd |pg
les entiées de se fichier sont de la forme :
TAYARI Lassaad
Page 26
ISET DE NABEUL
Cours
de LINUX(UNIX)
Sécurité des fichiers
log-id : mp : uid : gid: comm: rep-conn: prog -conn:
log_id:= identificateur de lutilisateur
mp= mot de passe
uid: user identifier
gid: group identifier
comm: facultatif ( reservé pour les commentaires )
rep_con : repertoire de connexion
prog_conn: le shell
Exemple:
$ cat /etc /passwd
root: * : 0: 1: superuser:/:
bin : *: 2: 2: owner of systeme commandes: / bin:
sys :*: 3:3: owner of systeme files :/usr/sys
user1 : * : 208 : 50 :: / usr/ user1: / bin /sh
user2 : * : 209 : 50 :: / usr / user2:/ bin /sh
la commande id permet a l’utilisateur d’afficher son login et son groupe aussi
que les uid et gid
III/ LES DROITS D’ACCES D’UN FICHIER:
Les droit d’acces d’un fichier forment un ensemble de trois groupes de troix caracteres
chacun :
$ ls -l
-rwx rwx rwx
permission
proprietaire
. . . . . . . . . . . . . . . . . . . fichier
les autres
groupe
La signification des mentions de ses groupes differe selon q’il s'agit d’un fichier
ordinaire , d’un fichier special ou d’un fichier repertoire
❆ pour un fichier ordinaire :
TAYARI Lassaad
Page 27
ISET DE NABEUL
Cours
de LINUX(UNIX)
Sécurité des fichiers
r: droit d’acces en lecture
w: droit d’accs en ecriture
x: droit d’execution si le fichier est executable.
❆ pour un repertoire :
r: droit de lecture du contenu (ls)
w: droit de creer / supprimer des fichiers (cp,mv)
x: droit d’operer dans le repertoire (cd)
Exemples :
$ ls -l / etc/ passwd
-rw-r--r-- root sys ...... /etc/passwd
$ ls -l /bin/ ls
-rwx--x--x
....... /bin/ls .
IV/ CHANGEMENT DE DROIT D’ACCES :
A la creation d’un fichier ou repertoire, c’est le systéme ( kernel) qui se charge
d’accorder ou de refuser la permission au proprietaire, aux membres du groupe et au autres.
Ses permissions peuvent etre modifiée avec la commande chmod.
Seul le proprietaire d’un fichier ou d’un repertoire 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.
Le changement des droits d’accès peut se faire en deux modes :
en symbolique
ou
en absolu
❆ notion symbolique :
la syntaxe de la commande chmod est :
$chmod sujet [operateur ] [ permission] fichier(s).
Ou
sujet : u
:g
: membre du groupe de l’utilisateur .
:o
: autres utilisateurs du systéme.
:a
: tout le monde .
operateur
TAYARI Lassaad
: utilisateur et proprietaire .
:+
: ajouter des droits
:-
: enlever les droits
Page 28
ISET DE NABEUL
Cours
de LINUX(UNIX)
Sécurité des fichiers
:=
: valider les droits cités dans la commande et
enlever les autres .
permission
:r
: lecture (fichier)
: affichage (repertoire )
:w
: ecriture (fichier)
: creation ou suppression (repertoires )
:x
: execution (fichier )
: droit d’operer ( repertoire ) .
Exemples:
1- Lister les droits d’acces du fichier virus .
$ ls -l virus
-rw-r--r--
1 userx group ........ virus.
2- Ajouter le droit d’execution au proprietaire et interdire les nom_ membre du groupe d’y
accéder :
$ chmod a+ x, o-r virus
$ ls -l virus
-rwx-----
1 userx group ............. virus
3- Enlever le droit du proprietaire à la lecture, et ne permettre au groupe et au autres que
l’execution :
$chmod u-r , g=x , o+x
$ ls
-l
virus
virus
--wx--x--x
1 userx
groupe . . . . . . virus
4- lire le fichier virus
$ cat virus
cat : cannot open virus [ ou access denied virus ]
5- remettre le fichier a l’etat initial :
$ chmod u= rw , go= r
$ ls -l
virus.
virus
-rw-r--r--
1 userx group ....... virus
$ cat virus ( taper entrer )
❆ notion absolue:
syntaxe:
$ chmod
TAYARI Lassaad
mode
fichier(s)
Page 29
ISET DE NABEUL
Cours
de LINUX(UNIX)
Sécurité des fichiers
mode : est la representation octale des permission :
- lechiffre 1 correspond au mention r,w ou x
- le chiffre 0 correspond au tiret Exemple:
permission
rwx
111
rw110
r-100
correspend le mode 764
1- obtenir les droit d’acces suivants pour le fichier virus:
rw--w--w$ chmod 622 virus .
$ ls -l
virus
-rw--w--w- ............ virus
2- protéger le fichier contre toute ecriture
$ chmod a -w virus
$ ls -l virus
-r--r--r- ............... virus
$ cat > virus
virus: can not créate .
3- remettre les droites d’acces de se ficher et l’etat initiale :
$ chmod 644 virus
$ ls -l virus
-rw-r--r-- .......... virus
V/ CHANGEMENT DE PROPRIETAIRE ET DE GROUPE
1) changement de proprietaire :
Sous unix le proprietaire a tout les droits sur ses fichiers. En effet, il a le droit de
transferer le proprieté d’un fichier ou d’un repertoire vers un autre utilisateur. Pour se faire il
doit utiliser la commande chown (change owner)
attention !!: le changement de proprietaire fait perdre a clui -ci tout droit d’accès sur se
fichier, même celui de restaurer la propriete, sauf les droits permis pour les autres.
Syntaxe de chown:
$ chown nouveux _ login -id
fichier(s) (ou repertoire (s))
ou
TAYARI Lassaad
Page 30
ISET DE NABEUL
Cours
de LINUX(UNIX)
Sécurité des fichiers
$ chown nouveau-ind fichier (s) (ou repertoire (s)).
Exemple :
1- changement de propriete du fichier essai1:
$ ls -l essai1
-rw--r--r--
1 userx
group ........ essai1
$ chown admn essai1
$ ls -l essai1
-rw-r--r--
1 admn
group ......... essai
2- remettre le fichier à l’etat initial.
$ chown userx essai1 .
essai1 : not owner .
Donc, la propriété ne peut être restaurée que par le nouveau proprietaire. Cette
operation se fait a l’aide de l’pproche suivante :
$ chown usrx /usr/userx/essai 1
2) changement de groupe:
Un utilisateur peut choisir pour une de ses fichiers ou repertoires un groupe autre que
celui assigné normalement par le kernel. Cette proécdure est realisable par la commande
chgrp.(change groupe).
La syntaxe de la commande chgrp est:
$ chgrp nouveau_groupe fichiers () (ou repertoire (s))
ou
$ chgrp nouveau_gid fichier(s) (ou repertoire (s) )
Exemple :
1-
changer le groupe du fichier essai1:
$ ls -l essai1
-rw-r--r-- 1 userx group .......essai1
$ chgrp sys
$ ls -l
essai1
essai1
-rw-r--r--
1
userx
sys ....... essai1
Les membres du groupe de travail de userx n’ont plus que le droit de lecture.
2- Pour restaurer le groupe d’origine:
$ chgrp group essai1
$ chgrp group essai1
-rw-r--r-- 1
TAYARI Lassaad
userx
group .........essai1
Page 31
ISET DE NABEUL
Cours
de LINUX(UNIX)
Sécurité des fichiers
Remarque : manipuler les repertoires de la même manière.
VI/ L’INODE:
Un fichier possède plusieurs informations, telque le nom, le contenu et d’autres
informations commes les permissions et les dates des derniers modifications. ces informations
sont sauvgardèes dans l’INODE (index mode) avec d’autres données essentielles comme la
longueur du fichier, sont emplacement sur le disque ,...etc.
1) Representation de l'INODE :
L’INODE est une suite de 64 octets qui definit les caracteristiques d’un fichier
(type,permission,adresse des données ). Toutes les INODES sont regroupées en une liste.
L’importance des inodes reside dans le fait qu'il sont pour le systéme comme le nom pour
l’utilisateur.
$ ls -i
8643 fich1
6286 fich2
$
le i-num d’un fichier est enregistré dans les deux premiers octets du repertoire, et est l’unique
connexion entre le nom du fichier et sont contenu.
TAYARI Lassaad
Page 32
ISET DE NABEUL
Cours
de LINUX(UNIX)
Sécurité des fichiers
2) lien d’un fichier :
Le nom du fichier dans le repertoire servant de lien entre un nom dans la hiérarchie
d’un repertoire et l’inode est appelé le lieu. Le même i-num peut apparaitre dans des
repertoires differents avec des nom de fichiers differents grace a la commande ln:
syntaxe:
$ ln fichier_ ancien fichier_ nouveau.
Le but de cette operation de donner deux noms au même fichier.
$ ls -li bidon
6231 -rw-rw-rw 1 ....... bidon
$ ln bidon
/work/bidonne
$ ls -li bidon
6231 -rw-rw-rw 2 ........ bidon
$ ls -li bidonne
6231 -rw-rw-rw 2
/work / bidone
nombre de liens .
Les deux fichiers pourtent donc vurs le même inode, ce qui veut dire qu’il ya un seul
espace disque associé aux deux noms de fichiers .
$ mv bidon bidon0
$ ls -li bidon0
6231 -rw-rw-rw 2 ..... bidon0
$ rm bidon0
$ ls -li
bidon
work/bidone
bidon not fownd
6231 -rw-rw-rw
1
work/bidonne
REMARQUE:
la commande rm n’elimine pas l’inode, mais elimine le nom du fichier dans le repertoire
tout en décrémentant le nombre de liens par 1, les données restent intactes sur le disque.
TAYARI Lassaad
Page 33
ISET DE NABEUL
Téléchargement