Vous êtes sur la page 1sur 3

TD4

La politique daccs aux fichiers dUNIX


Exercice 1
Terminal ttyp0
$ tty
/dev/ttyp0
$ ls l /dev/ttyp0
crww
1 meric
tty
3,
0 Nov 25 20:27 /dev/ttyp0
$ mesg
is y
$
Message from meric@localhost.localdomain on ttyp3 at 20:27 ...
Message de lutilisateur meric
sur la console ttyp3
EOF
$ mesg n
$ mesg
is n
$ ls l /dev/ttyp0
crw
1 meric

tty

3,

0 Nov 25 20:28 /dev/ttyp0

Terminal ttyp1
$ tty
/dev/ttyp3
$ ls l /dev/ttyp3
crww
1 meric
tty
3,
3 Nov 25 20:27 /dev/ttyp3
$ mesg
is y
$ write meric /dev/ttyp0
Message de lutilisateur meric
sur la console ttyp3
$ write meric /dev/ttyp0
write: meric has messages disabled on ttyp0

Exercice 2
$ ls l
total 0
rwrwr

1 meric

meric

0 Nov 25 20:37 Fich1

Des solutions avec les actions


$
$
$
$
$
$
$

chmod
chmod
chmod
chmod
chmod
chmod
chmod

u=rwx,g=rx,o=rx Fich1
u+x,gw,g+x,o+x Fich1
u+x,gw+x,o+x Fich1
u+x,g=rx,o+x Fich1
u+x,g=rx,o+x Fich1
u+x,og=rx Fich1
u+x,og=rx Fich1

La solution numrique
$ chmod 755 Fich5

Exercice 3
a) Pour accder un fichier, il faut avoir le droit de passage dans chacun des rpertoires qui

constituent son chemin (le droit de passage dans un rpertoire est le droit dexcution "x").
b) Pour crire dans un fichier, il faut avoir lautorisation dcriture ("w") sur ce fichier.
c) Pour modifier les droits dun fichier, il faut en tre le propritaire.
d) Pour crer ou dtruire un fichier, il faut avoir le droit dcriture dans le rpertoire contenant ce
fichier, puisquil sagit dajouter ou de supprimer un lien dans un rpertoire.
configuration 1
cp /tmp/x f1
cp /tmp/x f2
chmod 666 f1
rm f1

configuration 2
cp /tmp/x f1
cp /tmp/x f2
chmod 666 f1
rm f1

configuration 3
cp /tmp/x f1
cp /tmp/x f2
chmod 666 f1
rm f1

c1
Oui (b)
Oui (d)
Oui (c)
Oui (d)

c2
Oui (b)
Non(d)
Non (c)
Non (d)

guest
Non (a)
Non (a)
Non (a)
Non (a)

c1
Oui (b)
Oui (d)
Oui (c)
Oui (d)

c2
Non (b)
Oui (d)
Non (c)
Oui (d)

guest
Non (b)
Non (d)
Non (c)
Non (d)

c1
Non (b)
Oui (d)
Oui (c)
Oui (d)

c2
Non (b)
Oui (d)
Non (c)
Oui (d)

guest
Non (b)
Non (d)
Non (c)
Non (d)

Exercice 4
La commande "umask" permet de dfinir les droits que les fichiers et les rpertoires ont leur
cration. Ces droits sont dfinis par un masque. La commande "mask" permet dafficher le masque
courant (sans argument) ou de modifier le masque.
$ umask
002

Calcul des droits attribus aux nouveaux fichiers (fichiers rpertoires ou ordinaires) crs :
Fichiers
Rpertoires
Droits maximaux
rw rw rw
rwx rwx rwx
Masque (002)
w
w
Droits obtenus
rw rw r
rwx rwx rx
Quelque soit le masque courant, le droit "x" nest jamais attribu aux nouveaux fichiers ordinaires.
$ touch Fich1
$ mkdir rep1
$ ls l
total 1
rwrwr
1 meric
drwxrwxrx
2 meric

meric
meric

0 Nov 25 20:43 Fich1


1024 Nov 25 20:43 rep1

Dterminer un masque permettant dattribuer les droits dsirs aux nouveaux rpertoires :
Rpertoires
Droits maximaux
rwx rwx rwx
Masque
x wx
013
Droits dsirs
rwx rw r
$ umask 013
$ umask
013
$ touch Fich1
$ mkdir rep1
$ ls l
total 1
rwrwr
1 meric
drwxrwr
2 meric

meric
meric

0 Nov 25 20:44 Fich1


1024 Nov 25 20:44 rep1

Remarque : Comme le montrent les exemples prsents cidessous, des masques diffrents peuvent
donner le mme rsultat pour les fichiers.
masque
000
111
222
444
333
555
666
777

fichier
rw
rw
r
w
r
w

rw
rw
r
w
r
w

rpertoire
rw
rw
r
w
r
w

rwx
rw
rx
wx
r
w
x

rwx
rw
rx
wx
r
w
x

rwx
rw
rx
wx
r
w
x

(droits maximaux)

Exercice 5
$ ls l
total 1
rwrwr
1 meric
meric
drwxrwr
2 meric
meric
$ test f Fich1
$ echo $?
0 (Fich1 est un fichier)
$ test d Fich1 ; echo $?
1 (Fich1 nest pas un rpertoire)
$ test f rep1 ; echo $?
1 (rep1 nest pas un fichier)
$ test d rep1 ; echo $?
0 (rep1 est un rpertoire)

0 Nov 25 20:44 Fich1


1024 Nov 25 20:44 rep1