Vous êtes sur la page 1sur 6

TP N° 3 : Droits d’accès

Objectifs L’objectif de ce TP est de maîtriser le concept des droits d’accès sous

UNIX.

Après ce TP vous devez savoir :

- Mettre en oeuvre les droits d’accès aux fichiers et répertoires UNIX.


- Définir les droits d’accès par défaut en utilisant la commande umask.
- Comprendre les interprétations des droits d’accès par
type de fichiers.

Travail Demandé Vous rédigerez un compte rendu, sur lequel vous indiquerez la réponse à
chaque question, vos explications et commentaires (interprétation du résultat),
et le cas échéant la ou les commandes utilisées. Pour avoir plus d'information
sur une commande, consulter en premier lieu les pages de manuels
correspondantes à l'aide de la commande man.

I. Partie théorique

1. Commande chmod

a. Forme symbolique
Syntaxe

chmod [ugoa] [+|-|=] [rwx] fichier

La syntaxe symbolique précise au moyen d'une simple lettre la catégorie des utilisateurs concernés par la
nouvelle protection :
u pour user , propriétaire du fichier,

 g pour group, les utilisateurs du même groupe que le propriétaire,


 pour others pour les autres utilisateurs,
 a pour all, pour les 3 catégories de candidats. Cette option est utile quand une même
protection doit être définie vis-à-vis des 3 catégories de candidats.
La syntaxe symbolique utilise un opérateur qui ajoute (+), enlève (-) ou réassigne (=) un droit d'accès.
Lorsque l'opérateur = est utilisé, les types d'accès énumérés sont autorisés et les autres non mentionnés
sont supprimés.

Imene Sghaier 1
La syntaxe symbolique exige après l'opérateur que soient énumérées des lettres précisant les types d'accès à
autoriser ou interdire. Le débutant se contentera d'utiliser r pour la lecture, w pour l'écriture et x pour
l'exécution.

Exemples

 chmod g+w fich1 permet aux utilisateurs du groupe du propriétaire du fichier fich1 d'accéder en plus
à l'écriture.
 chmod a=r fich2 autorise uniquement l'ensemble des utilisateurs à accéder au fichier fich2 en lecture.
Si l'accès en écriture était autorisé, ce droit est supprimé.
 chmod u-w fich3 interdit dorénavant au propriétaire de tenter une modification du fichier fich3.
La commande chmod peut aussi être utilisée avec un masque composé le plus souvent de 3 chiffres en
octal. Les bits de ce masque, contrairement à la commande umask, autorisent les types d'accès
correspondants avec la même relation entre poids des bits et types d'accès. Le bit de poids 4 autorise les
accès en lecture, le bit de poids 2 autorise les accès en écriture et le bit de poids 1 autorise les accès en
exécution.

Ex : chmod 750 fich4 permet, pour le fichier fich4, d'autoriser n'importe quel type d'accès de la part du
propriétaire, de limiter les accès des utilisateurs du même groupe que le propriétaire en lecture et
exécution, d'interdire tout type d'accès émanant des autres utilisateurs.

b. Forme numérique
Syntaxe

chmod mode fichier

mode un nombre de trois chiffres où chaque chiffre représente la valeur numérique associé à rwx.

Exemples

chmod 644 fich1 permet d’allouer les droits d’accès suivants : -rw-r—r—

chmod 622 fich1 permet d’allouer les droits d’accès suivants : -rw—w-w-

2. Commande chown
Change le propriétaire des fichiers spécifiés en argument. Seuls le propriétaire et l’administrateur peuvent
effectuer cette opération.

chown login fichiers

Exemples

Imene Sghaier 2
$ls –l unix.doc

-rw-r--r-- 1 mohamed group 432 Dec 3 12:42 unix.doc

$chown imene unix.doc

$ls –l unix.doc

-rw-r--r-- 1 imene group 432 Dec 3 12:42 unix.doc

3. Commande chgrp
Cette commande permet d’attribuer les fichiers donnés en argument à un nouveau groupe d’utilisateurs.

chgrp groupe fichiers

Exemples

$ls –l unix.doc

-rw-r--r-- 1 ri31g11 group 432 Dec 3 12:42 unix.doc

$chgrp IG31 unix.doc

$ls –l unix.doc

-rw-r--r-- 1 ri31g11 IG31 432 Dec 3 12:42 unix.doc

4. Commande umask
Sans arguments, elle permet de connaître la protection par défaut des fichiers. Le paramètre protection
précise les changements à donner à cette protection.

umask [protection]

Sans arguments, elle permet de connaître la protection par défaut des fichiers (en général l’administrateur
système le fixe à 666 rw-rw-rw- pour les fichiers et 777 rwxrwxrwx pour les répertoires). Le paramètre
modification précise les changements à donner à cette protection. Chaque bit à 1 de la modification est
éliminé de la valeur par défaut, alors que ceux à 0 ne la changent pas.

La commande umask 077 donnera une protection : rw------- pour les fichiers et rwx------ pour les
répertoires.

Imene Sghaier 3
Exemples

$umask

666

$touch fichier1.txt

$ls –l fichier1.txt

-rw-rw-rw- 1 user1 group 0 Dec 3 12:42 fichier1.txt

$umask 020

$touch fichier2.txt

$ls –l fichier2.txt

-rw-r----- 1 user1 group 0 Dec 3 12:45 fichier2.txt

II. Travail demandé

Exercice 1
a. Créer un petit fichier texte (de contenu quelconque) qui soit lisible par tout le monde mais pas
modifiable (même pas par vous).
b. Créer un répertoire nommé secret, dont le contenu soit visible uniquement par vous-même. Les
fichiers placés dans ce répertoire sont-ils lisibles par d’autres membres de votre groupe.
c. Créer un répertoire iset_nabeul tel que les autres utilisateurs ne puissent pas lister son contenu
mais puissent lire les fichiers qui y sont placés. On obtiendra :
$ ls iset_nabeul

ls : iset_nabeul: Permission denied

$ cat iset_nabeul/cours

<...le contenu du fichier cours (s’il existe)...>

Exercice 2
a. Changer les droits sur votre compte afin que les autres utilisateurs ne puissent pas y accéder.
Quelles sont les commandes tapées ?

Imene Sghaier 4
b. Créer un répertoire dans /tmp qui ne soit accessible (rx) que par les membres du groupe, puis y
créer un fichier temporaire qui soit lisible et modifiable par les utilisateurs du groupe, mais pas
par les autres.
c. Les utilisateurs du groupe peuvent-ils supprimer le fichier temporaire? Pourquoi ?

Exercice 3
a. Donner les droits d’accès minimal pour pouvoir effectuer les actions suivantes :
 Créer un fichier.
 Copier un fichier.
 Renommer un fichier.
 Lister le contenu d’un fichier.
 Créer un répertoire.
 Supprimer un répertoire avec son contenu.
b. Quelle est la commande qui permet de fixer les droits d’accès d’un nouveau fichier aux droits rw-
r-- --- ? que seront les droits d’accès pour un nouveau répertoire ?
c. Quelle est la commande qui permet de fixer les droits d’accès d’un nouveau répertoire aux droits
rwx r-x r-x ? Que seront les droits d’accès pour un nouveau fichier ?

Exercice 4

a. Créer un répertoire rep1. Fixer ses droits de manière à ce que personne d’autre que vous ne
puisse y lire ni y écrire. Quelles sont les commandes tapées ?
b. Se placer dans rep1. Créer un fichier de nom fic1.txt. Editer ce fichier. Afficher le contenu du
fichier.
c. Changer les droits du fichier de façon à ce que personne ne puisse plus y écrire.
d. Sans changer de répertoire courant, créer un répertoire de nom rep2 dans votre répertoire de
connexion en utilisant des chemins d’accès relatifs.
e. Vérifier que vous pouvez écrire dans rep2. Si ce n’est pas le cas, changez les droits de façon à ce
qu’on puisse y écrire.
f. Copier le fichier fic1.txt dans le répertoire rep2. Renommer le fichier fic1.txt du répertoire
courant (ça doit être rep1) en fic2.txt en utilisant des chemins d’accès absolus.
g. Afficher le contenu de fic1.txt. Vérifier les droits de fic1.txt et fic2.txt en utilisant des références
relatives.
h. Essayer d’effacer rep1, rep2, fic1.txt, fic2.txt en une seule commande, à partir du répertoire
courant. Que se passe t-il ?

Imene Sghaier 5
Exercice 5
a. Créez dans votre répertoire de connexion, 2 répertoires nommés respectivement tp_rep1 et
tp_rep2 ainsi que sept fichiers nommés respectivement f_1, f_2, f_3, f_4, f_5, f_6, f_7.
b. Placez les 3 premiers fichiers dans le 1er répertoire et les 3 fichiers suivants dans le 2ème
répertoire.

c. Attribuez les droits d’accès aux fichiers et répertoires comme suit (avec une méthode non
numérique) de la façon suivante :
tp_rep1 = 640 chmod u=rw,g=r,o= tp_rep1

tp_rep2 = 530

f_1 = 644

f_2 = 640

f_3 = 544

f_4 = 740

f_5 = 644

f_6 = 430

f_7 = 664

d. Peut-t-on placer le fichier f_7 dans le répertoire tp_rep2? sinon pourquoi et comment faire pour
pouvoir le déplacer?

Imene Sghaier 6

Vous aimerez peut-être aussi