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