0% ont trouvé ce document utile (0 vote)
476 vues5 pages

Corrigé TP 3

Ce document décrit différentes commandes liées aux droits d'accès sur un système Linux. Il présente comment créer et modifier des fichiers et répertoires avec différents niveaux de permissions pour les utilisateurs, les groupes et autres. Le document contient également des exemples détaillés d'utilisation de commandes chmod.

Transféré par

rayen sadkaoui
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
476 vues5 pages

Corrigé TP 3

Ce document décrit différentes commandes liées aux droits d'accès sur un système Linux. Il présente comment créer et modifier des fichiers et répertoires avec différents niveaux de permissions pour les utilisateurs, les groupes et autres. Le document contient également des exemples détaillés d'utilisation de commandes chmod.

Transféré par

rayen sadkaoui
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Atelier Systèmes d’exploitation

TP N° 4 : Droits d’accès
I. Droits d’accès

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).
chmod a+r,a-w fich1.txt
OU BIEN
chmod 444 fich1.txt

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.
mkdir secret
chmod u+r,go-r secret

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)...>

mkdir iset_nabeul

iset_nabeul/cours

La commande suivante permet d’interdire le droit de lecture pour les autres utilisateurs (tout les
utilisateurs sauf le propriétaire) pour qu’ils ne puissent pas lister le contenu du répertoire iset_nabeul.

chmod go-r iset_nabeul

La commande suivante permet d’ajouter le droit de lecture sur tous les fichiers placés dans le répertoire
iset_nabeul.

chmod go+r iset_nabeul/*

II. Droits (commandes)


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 1
Atelier Systèmes d’exploitation

Accéder à un répertoire signifie se déplacer vers ce répertoire (traverser) donc ça nécessite le droit
d’exécution sur le répertoire. Le répertoire correspondant à votre compte c’est votre répertoire de
connexion.

chmod go-x ~

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.

mkdir /tmp/newdir

chmod g=rx,o-rx /tmp/newdir

touch /tmp/newdir/temporaire

chmod g=rw,o-rw /tmp/newdir/temporaire

c. Les utilisateurs du groupe peuvent-ils supprimer le fichier toto ? Pourquoi ?

Les utilisateurs du groupe ne peuvent pas supprimer le fichier temporaire vu qu’ils n’ont pas le
droit d’écriture (w) sur le répertoire contenant tempraire. C'est-à-dire qu’ils ne peuvent pas créer
et supprimer des fichiers dans le répertoire /tmp/newdir.

2. Droits d’accès par défauts


a. Donner les droits d’accès minimal pour pouvoir effectuer les actions suivantes :
 Créer un fichier.
Pour créer un fichier, on doit avoir le droit d’écriture dans le répertoire qui va contenir le nouveau
fichier créé.

 Copier un fichier.
Pour copier un fichier vers un répertoire destination, on doit avoir le droit d’écriture dans le
répertoire qui va contenir le fichier copié (le répertoire destination).

 Renommer un fichier.
Renommer un fichier ne nécessite aucun droit.

 Lister le contenu d’un fichier.


Il faut avoir le droit de lecture du fichier.

 Créer un répertoire.
Pour créer un répertoire, on doit avoir le droit d’écriture dans le répertoire qui va contenir le
nouveau répertoire créé.

 Supprimer un répertoire avec son contenu.


Pour supprimer un répertoire avec son contenu, on doit avoir le droit d’écriture dans le répertoire
et dans chaque sous répertoire pour pouvoir supprimer toute l’arborescence.

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 ?
Le nouveau fichier aura les droits d’accès, rw-r-- --- donc une protection numérique 640.

Le masque nécessaire est 666-640=026.

Donc on doit écrire la commande suivante :

Imene Sghaier 2
Atelier Systèmes d’exploitation

umask 026

touch f1

ls –l f1

-rw-r----- 1
………………………………………………………………………………………………………… f1

Un nouveau répertoire aura la protection numérique 777-026=751 donc les droits d’accès, rwxr-x-
-x.

mkdir rep1

ls –l

drwxr-x--x 2
…………………………………………………………………………………………………… rep1

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 ?
Le nouveau répertoire aura les droits d’accès, rwxr-xr-x donc une protection numérique 755.

Le masque nécessaire est 777-755=022.

Donc on doit écrire la commande suivante :

umask 022

mkdir rep2

ls –l

drwxr-xr-x 2

………………………………………………………………………………………………… rep2

Le nouveau fichier qui sera créé aura la protection : 666-022=644

touch f1

ls –l f1

-rw-r--r-- 1
………………………………………………………………………………………………………… f1

3. Quelques manipulations sur les permissions


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 ?
mkdir rep1

chmod u+rw,go-rw rep1

b. Se placer dans rep1. Créer un fichier de nom fic1.txt. Editer ce fichier en utilisant une méthode (vi,
cat, echo,…). Afficher le contenu du fichier.
cd rep1

touch fic1.txt

Imene Sghaier 3
Atelier Systèmes d’exploitation

echo ‘Bonjour’ >> fic1.txt

cat fic1.txt

Bonjour.

c. Changer les droits du fichier de façon à ce que personne ne puisse plus y écrire.
chmod a-w fic1.txt

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.
mkdir ../rep2

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.
ls –l ..

Affiche les droits du contenu du répertoire de connection y compris le répertoire rep2. Si le droit d’écriture
est absent pour le propriétaire, on exécute la commande suivante.

chmod u+w ../rep2

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.
cp fic1.txt ../rep2

mv ~/rep1/fic1.txt ~/rep1/fic2.txt

OU en utilisant tout le répertoire de connection /home/imene

mv /home/imene/rep1/fic1.txt /home/imene/rep1/fic2.txt

g. Afficher le contenu de fic1.txt. Vérifier les droits de fic1.txt et fic2.txt en utilisant des références
relatives.
cat ../rep2/fic1.txt

Bonjour.

ls –l ../rep2/fic1.txt fic2.txt

h. Essayer d’effacer rep1, rep2, fic1.txt, fic2.txt en une seule commande, à partir du répertoire courant.
Que se passe t-il ?
rm -r ~/rep1 ~/rep2

rm:remove write-protected regular file`/home/user1/rep1/fic2.txt'? Y

rm:remove write-protected regular file`/home/user1/rep2/fic1.txt'? Y

On peut aussi utiliser les métacaractères:

rm -r ~/rep[12]

rm:remove write-protected regular file`/home/user1/rep1/fic2.txt'? Y

rm:remove write-protected regular file`/home/user1/rep2/fic1.txt'? Y

Explication: lorsque le répertoire à supprimer contient des fichiers protégés en écriture, le système
demande la confirmation pour les supprimer, ceci le cas des fichiers fic2.txt et fic1.txt, et l'utilisateur répond
par Y (Yes)ou N (No).

Imene Sghaier 4
Atelier Systèmes d’exploitation

4. chmod
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.
mkdir tp_rep1 tp_rep2

touch 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.
mv f_1 f_2 f_3 tp_rep1

mv f_4 f_5 f_6 tp_rep2

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

tp_rep2 = 530

f_1 = 644

f_2 = 640

f_3 = 544

f_4 = 740

f_5 = 644

f_6 = 430

f_7 = 664

chmod u=rw tp_rep1

chmod g=r tp_rep1

chmod o-rwx tp_rep1

chmod u=rw tp_rep1/f_1

chmod go=r tp_rep1/f_1

chmod u=rw tp_rep1/f_2

chmod g=r tp_rep1/f_2

chmod o-rwx tp_rep1/f_2

…..

On ne peut pas placer le fichier f_7 dans le répertoire tp_rep2 puisque on n’a pas le droit d’écriture dans
le répertoire tp_rep2. On doit ajouter le droit d’écriture au répertoire tp_rep2.

Imene Sghaier 5

Vous aimerez peut-être aussi