Vous êtes sur la page 1sur 2

Introduction aux systmes dexploitation (IS1)

TP 2 Utilisateurs, groupes et permissions

chmod : La commande chmod liste_droits fichier(s) permet daccorder ou de retirer au(x) fichier(s) (ou rpertoire(s)) passs en arguments les permissions correspondant liste_droits. Cette
liste est de la forme droit1 , . . . , droitn o chaque droiti peut tre par exemple :
u+r pour rajouter au propritaire (user) le droit en lecture,
g-w pour retirer aux membres du groupe (group) le droit en criture,
o+x pour donner aux autres utilisateurs (other) le droit en excution,
ou une combinaison de ces possibilits (ex : ug-wx).
Exercice 3 Un essai.

Le but de ce TP est de vous familiariser avec le systme des droits daccs aux fichiers.

Groupes dutilisateurs
Chaque fichier (et rpertoire) est la proprit dun utilisateur particulier. Par dfaut, celui-ci
appartient lutilisateur qui a cr le fichier. Les utilisateurs sont runis en groupe. Un utilisateur
pouvant faire partie de plusieurs groupes, pour chaque fichier est spcifi le groupe propritaire
(cest--dire en tant que membre de quel groupe le propritaire dtient le fichier). On distingue
alors trois catgories dutilisateurs pour chaque fichier : le propritaire, le groupe propritaire, et
les autes. Et les droits du fichier sont dfinis pour chacune de ces catgories.
id : Vous connaissez dj la commande whoami qui indique sous quel nom de login vous tes
connects. La commande id vous indique en plus vos numro dutilisateur, nom et numro de
groupe principal (qui sera votre groupe propritaire par dfaut) ainsi que la liste des groupes
auxquels vous appartenez.
Exercice 1

1. A laide de la commande echo "une phrase" > fic, vous pouvez crire le texte une phrase dans
le fichier fic1 . Crez un rpertoire test, et un fichier essai dans ce rpertoire, et crivez-y la
phrase de votre choix.
2. Notez laide de ls -l les permissions actuelles du rpertoire test et du fichier essai.
3. En utilisant la commande chmod, retirez-vous le droit en lecture et en criture sur le fichier
essai. Vrifiez leffet obtenu en essayant dafficher le contenu du fichier sur la fentre du
terminal, puis de remplacer ce contenu par une phrase diffrente.
4. Un fichier excutable est simplement un fichier dont vous possdez le droit en excution. Rtablissez le droit en criture puis remplacez laide de la commande echo le contenu du fichier
essai par le texte echo "Ceci est un essai". Ajoutez-vous le droit en excution, et excutez le fichier essai en tapant ./essai dans le terminal (depuis le rpertoire qui le contient).
Quel est le problme ?
5. Rtablissez enfin le droit en lecture et tentez nouveau dexcuter le fichier. Que se passe-t-il ?
Que proposez vous pour obtenir un rsultat plus intressant ?

Dterminez votre ou vos groupes dappartenance.

Droits des rpertoires

Droits des fichiers


Il y a trois types de droits :
Droit en lecture :
. Identifi par la lettre r (read) et le chiffre 4.
. Donne laccs la lecture dun fichier.
. Permet de lister le contenu dun rpertoire.
Droit en criture :
. Identifi par la lettre w (write) et le chiffre 2.
. Donne laccs lcriture dans un fichier.
. Permet dajouter ou de supprimer un lment dun rpertoire.
Droit en excution :
. Identifi par la lettre x (execute) et le chiffre 1.
. Donne laccs lexcution dun fichier.
. Permet passer travers un rpertoire.
Exercice 2 Utilisez ls -l depuis votre rpertoire personnel, et reprez les symboles dcrivant les
droits, le propritaire et le groupe dappartenance de chaque fichier/rpertoire.

Exercice 4 Un test.
1. Placez-vous dans le rpertoire test, et retirez-vous le droit en lecture pour ce rpertoire. Listez
le contenu du rpertoire avec ls, puis excutez ou affichez le contenu du fichier essai. Quen
dduisez-vous ? Rtablissez le droit en lecture sur test.
2. Crez dans test un fichier nouveau ainsi quun rpertoire sstest. Retirez au fichier nouveau
et au rpertoire test le droit en criture. Tentez de modifier le fichier nouveau. Rtablissez
ensuite le droit en criture au rpertoire test. Tentez de modifier le fichier nouveau, puis de
le supprimer. Que pouvez-vous dduire de toutes ces manipulations ?
3. Positionnez vous dans votre rpertoire personnel, puis retirez le droit en excution du rpertoire test. Tentez de crer, supprimer, ou modifier un fichier dans le rpertoire test, de vous y
dplacer, den lister le contenu, etc... Quen dduisez vous quant au sens du droit en excution
pour le rpertoires ?
4. Rtablissez le droit en excution du rpertoire test. Positionnez vous dans ce rpertoire et
retirez lui nouveau le droit dexcution. Essayez de crer, supprimer et modifier un fichier
dans le rpertoire test, de vous dplacer dans ssrep, de lister son contenu Quen concluezvous quant linfluence des droits que lon possde sur le rpertoire courant ?
1 La

syntaxe prcise de cette commande sera explique en dtail dans un prochain TP.

Partager ses fichiers et rpertoires

Droits crits en octal

Dans certains cas, par exemple dans le cadre dun projet plusieurs ou de la fabrication dune
page web, il peut tre intressant de donner accs certains de ses fichiers ou rpertoires dautres
utilisateurs. Les exercices suivants explorent deux cas dutilisation possibles.

Les commandes chmod et umask peuvent galement tre utilises avec une autre syntaxe :
chmod abc fic o a, b, et c sont des chiffres compris entre 0 et 7. a reprsente la somme des
chiffres reprsentants les droits du propritaire. De mme b reprsente la somme des droits du
groupe propritaire, et c reprsente celle des autres utilisateurs.
Par exemple rwxrxr- correspond 754 ((4 + 2 + 1)(4 + 1)(4)).

Exercice 5 Donner accs ses fichiers.


1. Attribuez au fichier essai les droits suffisants pour quune autre personne de votre groupe
UNIX puisse y accder en lecture (mais pas en criture).
2. Les fichiers des utilisateurs, et en particulier vos fichiers, sont visibles depuis tous les ordinateurs de la salle. Demandez votre voisin(e) de tenter de lire votre fichier essai depuis sa
machine. Pensez lui donner un chemin complet (qui convienne).
3. Essayez daccder aux rpertoires personnels dautres tudiants et de consulter leurs fichiers.
Exercice 6 (Difficile) Ouvrir un rpertoire daccueil.
Alice et Bob sont en TP dIS1, ils se donnent le but commun de crer, dans le rpertoire test
de Bob, le fichier exclu tel que :
seul Alice puisse crire dans exclu et seul Bob puisse leffacer.
toute personne du groupe, y compris Alice mais hormis Bob, puisse lire exclu,
seul Bob puisse crer de nouveaux fichier dans test
Rpartissez-vous les rles dAlice et Bob avec votre voisin(e) et esayez datteindre le but quils
se sont fix.

Droits par dfaut des nouveaux fichiers


Lorsque de nouveaux fichiers ou rpertoires sont crs, des droits par dfaut leur sont attribus.
Ces droits sont calculs partir dun ensemble de droits par dfaut en utilisant un masque des droits
par dfaut des fichiers utilisateurs (appel umask).
Les droits par dfaut pour un fichier sont : droit en lecture et excution pour tout le monde
(propritaire, groupe et autres utilisateurs), et droit en criture pour le propritaire seulement.
On peut ensuite choisir de changer ces droits par dfaut laide de lumask, dont laccs se fait
par la commande umask (en utilisant la mme syntaxe que pour chmod). Pour visualiser le masque
courant, utilisez umask -S. Par exemple, pour retirer aux utilisateurs ne faisant pas partie de son
propre groupe laccs en lecture aux nouveaux fichiers, on tape umask o-r.

Exercice 8
1. Transcrivez la commandes suivantes de la notation classique la notation octale ou vice-versa.
chmod u=rx,g=wx,o=r fic
chmod uo+w,g-rx fic en sachant que les droits initiaux de fic sont rr-x chmod 653 fic en sachant que les droits initiaux de fic sont 711
chmod u+x,g=w,o-r fic en sachant que les droits initiaux de fic sont rr-x2. Remplacez la liste de commandes suivantes par une cmmande unique ayant le mme rsultat.
chmod 653 fic
chmod u-r,g+w,o-r fic
Exercice 9 (Optionnel) Limites du systme de permissions
1. Si, dans lexercice 6, on remplaait le fichier voisin par un sous-rpertoire, cela permettrait
votre voisin de vous transfrer des fichiers ou dautres sous-rpertoires. Testez cette ide et
demandez votre voisin(e) de crer des fichiers dans ce rpertoire.
2. Essayez prsent de supprimer le rpertoire voisin vous-mme. Que remarquez-vous ? Pouvez
vous suggrer une solution ?
3. De la mme manire, est-il possible de partager un fichier entre deux personnes sans le rendre
accessible au reste du groupe ? Commentez.
4. Faites une recherche sur Internet au sujet du mcanisme dACL (Access Control List), et cherchez
une solution aux problmes voqus prcdemment2 .

Exercice 7 Rglage du masque


1. Dfinissez un umask trs restrictif qui interdit quiconque part vous laccs en lecture ou en
criture, ainsi que la traverse de vos rpertoires. Testez sur un nouveau fichier et un nouveau
rpertoire.
2. Dfinissez un umask trs permissif qui autorise tout le monde lire vos fichiers et traverser
vos rpertoires, mais nautorise que vous crire. Testez sur un nouveau fichier et un nouveau
rpertoire.
3. Dfinissez un umask quilibr qui vous autorise un accs complet et autorise un accs en lecture
aux membres de votre groupe Unix. Testez sur un nouveau fichier et un nouveau rpertoire.

2 Le

mcanisme dACL nest pas install par dfaut sur notre version de FreeBSD.

Vous aimerez peut-être aussi