Vous êtes sur la page 1sur 4

Notes cours unix s3 :

Unix fait la dff entre 3 types de fichiers :


Les fichiers normaux
Les rpertoire/dossiers/folders/catalogues
Les fichiers spciaux (de priphriques)
Un rpertoire != un ensemble de fichiers
Un rpertoire = fichier
Un fichier est un ensemble de fiches, et chaque fiche contient des infos
sur un fichier (droit accs).
Les fichiers normaux : correspondant des informations stockes sur un
support magntique (disque Dur.. cd / usb) ces fichiers sont crs par des
programmes utilisateurs ou par des utilitaires systmes exp : diteur de
texte / compilateur etc.
Remarque : le sys unix ne sintresse pas au contenu dun fichier normal
par contre il gre de faon trs efficace les infos permettant de
prciser :
Le propritaire de fichier
Les droits daccs ces fichiers
Les secteurs occups sur le disque par ce fichier
Le nom dun fichier peu dimportance et lextension nest utilis (au
sens de Windows)
Remarque : le contenu dun fichier normal relve du programme qui la
cr. Bien souvent seul ce programme peut accder au contenu de ce
fichier. Pour cela chaque logiciel peut utiliser son propre format de
stockage des informations constituant le fichier (il y a le format de
stockage priv et le format standard) par exp (pdf/.doc/.m..).
Les rpertoires : sont des fichiers particuliers dont le contenu est peu
important pour les utilisateurs mais extrmement important pour le
systme.
Cette catgorie de fichiers se cr et se manipule par des primitives (ou
commandes internes au noyau du systme). Les principales primitives :
Mkdir : cration si possible un nouveau rpertoire
Cd : changer le rpertoire actif si possible
Rmdir : supprimer un ou plusieurs rpertoires si possibles
Un rpertoire peut tre considr comme une base de donnes
relationnelle pour le sys dexploitation cette BD est automatiquement
mise jour par le sys chaque fois quil est ncessaire.
Au niveau de chaque fichier lensemble des utilisateurs reconnus par le
sys est devis par trois classes :
Propritaire du fichier : - u
Le groupe des utilisateurs privilge g
Tout le reste o
Initialement le prop dun fichier cest lutilisateur qui cr ce fichier par le
billet dun programme quelconque.
Il peut tre modifi tout simplement grce la routine chown change
owner.
Le groupe des utilisateurs privilgis est initialement le groupe auquel
appartient lutilisateur il peut tre modifi avec chgrp change groupe.
Pour chacune de ces classes dutilisateur le sys contrle trois mod dff
daccs au fichier.
Accs en lecture (r) : cest le mod le plus important.
Accs en criture (w) : cest le deuxime degr dimportance.
Accs en excution (x) : cest le troisime degr de limportance.
Les commandes qui manipulent les droits daccs aux fichiers utilisent
comme paramtre les noms des fichiers utiliss plus les classes dutilisateurs
pour lesquelles on veut :
Attribuer un droit cod par +
Dsactiver un droit cod par
Attribuer uniquement un droit en supprimant les autres.
Codage numrique des droits daccs :

Pour faciliter davantage la manipulation des droits daccs au fichier, unix


utilise un code pour reprsenter chaque droit de chaque classe dutilisateur,
ces codes sont exprims en octal et peuvent tre rsums :
r w x total
u 400 200 100 700
g 40 20 10 70
o 4 2 1 7
Questions ? : est-ce possible de savoir les droits daccs dun
fichier avant sa cration ?
Rponse : oui laide de lutilitaire umask use mask.
Questions ? : peut-on changer ces droits ?
Rponse : oui avec umask (pour plus dinfo man umask).
Problme : on sait que les mots de passe des utilisateurs sont stocks dans un
fichier correspondant du fichier texte appel gnralement /etc/passwd.
Le propritaire de ce fichier est ladministrateur qui est le seul, en principe,
pouvoir y accder en criture (droit w).
On sait aussi que chaque utilisateur peut changer lui-mme son mot de passe
grce la commande passwd qui correspond un fichier excutable nomm le
plus souvent /bin/passwd, et pour lequel tout le monde dispose des droits X.
Question ? : Comment peut-on modifier grce un programme donn, les
informations dun fichier pour lequel on na pas le droit W ?
Reponse : grce un autre droit qui est le droit UID qui signifie que :
Tout utilisateur qui a le droit dexcuter un fichier ayant le bit UID positionn
est considr par le sys pendant lexcution comme tant le propritaire de
lexcutable (les droits dendossement).
Lorsque lutilisateur choisi de modifier son mot de passe il utilise le fichier
/bin/passwd qui est un fichier publique.
Par contre pour ladministrateur qui veut crer un compte il utilise adduser qui
va crer un compte sur /etc/passwd qui est un fichier priv.
En dautre terme lutilisateur qui excute un fichier avec le bit UID positionn
hrite provisoirement les droits des propritaires de lexcutable.
Ce droit peut tre positionn laide de la commande set uid de la mme
faon le bit GID peut tre positionn grce la commande set gid
Gid signifie que tout utilisateur qui a le droit dexcuter un fichier pour lequel
ce bit est positionn hrite pendant lexcution des droits allouer au groupe de
ce fichier.
Remarque : un autre bit utilis comme droit daccs est sticky bit.
Pour un fichier excutable ce bit signifi lorsque il est positionn, que le
programme droit rester en RAM aprs sa premire excution, on parle de
programme rsident.
Dans la fiche de renseignement de chaque fichier unix le champ dinformation
appeler droit daccs de type int est structur comme suit :
stickybit UID GID r w x r W X R W x

La signification des 4 bits sticky bit , uid , gid et x est vidente pour un fichier
excutable.
Question ? : Ces mmes bits ont-ils un sens pour les rpertoires ?
Rponse : oui mais leurs signification est diffrente.