Correction Atelier 4 : Gestion des droits d’accès

1/4
100%

Correction Atelier 4 : Gestion des droits d’accès

Exercice 1

1. Dans votre répertoire personnel, créer deux répertoires nommés respectivement r\_tp\_3\_1 et r\_tp\_3\_2 ainsi que sept fichiers nommés respectivement f1, f2, f3, f4, f5, f6 et f7.

~$ mkdir r\_tp\_3\_1 r\_tp\_3\_2

~$ touch f1 f2 f3 f4 f5 f6 f7

1. Placer les 3 premiers fichiers dans le 1ier répertoire et les 3 suivants dans le 2ième répertoire.

~$ mv f1 f2 f3 r\_tp\_3\_1

~$ mv f4 f5 f6 r\_tp\_3\_2

1. Attribuer les droits d’accès aux fichiers et répertoires comme suit (avec la méthode symbolique) :

  • f1=640

640⬄ rw-r-----

~$ chmod u=rw,g=r,o= r\_tp\_3\_1/f1

  • f2=600

600⬄ rw-------

~$ chmod u=rw,g=,o= r\_tp\_3\_1/f2

  • f3=544

544⬄ r-xr—r--

~$ chmod u=rx,g=r,o=r r\_tp\_3\_1/f3

  • f4=740

740⬄ rwxr-----

~$ chmod u=rwx,g=r,o= r\_tp\_3\_2/f4

  • f5=644

644⬄ rw-r--r--

~$ chmod u=rw,g=r,o=r r\_tp\_3\_2/f5

  • f6=430

430⬄ r---wx---

~$ chmod u=r,g=xw,o= r\_tp\_3\_1/f6

  • f7=664

Publicité

664⬄ rw-rw-r--

~$ chmod u=rw,g=rw,o=r f7

  • r\_tp\_3\_1=640

640⬄ rw-r-----

~$ chmod u=rw,g=r,o= r\_tp\_3\_1

  • r\_tp\_3\_2=330

640⬄ rw-r-----

~$ chmod u=rw,g=r,o= r\_tp\_3\_1/f1

1. Peut-on déplacer le fichier f7 dans le répertoire r\_tp\_3\_1 ? sinon pourquoi et comment faire pour pouvoir le déplacer.

Pour pouvoir déplacer f7 dans le répertoire r\_tp\_3\_1, il faut que le répertoire a le droit d’accès d’exécution pour pouvoir y accéder et le droit d’écriture mais r\_tp\_3\_1 n’a pas le droit d’exécution. Donc il faut ajouter le droit d’exécution pour pouvoir déplacer f7 : chmod u+x r\_tp\_3\_1

1. Peut-on afficher le contenu du répertoire r\_tp\_3\_2. Pourquoi ?

Non, on ne peut pas afficher le contenu de r\_tp\_3\_2 car ce dernier n’a pas le droit de lecture.

1. Créer un nouveau répertoire nommé r\_tp\_3\_3 ainsi que deux fichiers nommés f8 et f9.

~$ mkdir r\_tp\_3\_3

~$ touch f8 f9

1. Visualiser les droits d’accès relatifs à tous les fichiers et répertoires de votre répertoire courant

~$ ls -l

1. Etudier la faisabilité des opérations suivantes :

  • ls r\_tp\_3\_3

faisable droit r

  • cp f8 r\_tp\_3\_3

faisable droit wx pour r\_tp\_3\_3

  • mv f9 r\_tp\_3\_3

faisable droit wx pour r\_tp\_3\_3

  • cat r\_tp\_3\_3/f8

faisable droit x pour r\_tp\_3\_3 et droit r pour f8

  • rm r\_tp\_3\_3/f8

faisable droit wx pour r-\_tp\_3\_3

Publicité

Exercice 2

La commande umask sert à positionner les permissions des fichiers créés dans le futur

1. Se placer dans votre répertoire de travail

$ cd

1. Afficher le contenu de ce répertoire avec les informations détaillées

~$ ls -l

1. Exécuter umask (seul) qui affiche le masque des permissions (protections) pour la création de fichiers :

~$ umask

umask=002 , droit par défauts=droit max-umak

À partir de ce qu’a écrit umask (s’il y a 4 chiffres, le premier 0 doit être ignoré), en déduire quelles seront les permissions des prochains fichiers créés (l’écrire sous la forme rwxrwxrwx)

droits max pour un fichier=666 =>droit par défaut=666-002=664 ⬄rw-rw-r--

1. En déduire aussi celles des prochains répertoires créés

droits max pour un répertoire=777=>droit par défaut=777-002=775 ⬄rwxrwxr-x

1. Créer un nouveau répertoire rep1

~$ mkdir rep1

1. Avec vi, éditer un nouveau fichier essai1.txt (pas dans rep1) contenant une ligne de texte, puis sauver et quitter vi

~$ vi essai1.txt

1. Afficher les informations détaillées sur rep1 (pas sur son contenu) et essai1.txt.

~$ ls –ld rep1

~$ ls –l essai1.txt

1. Observer leurs permissions et comparer avec vos déductions aux questions a. et b.

rep1 : rwxrwxr-x les mêmes permissions déduites en b.

essai1.txt : rw-rw-r—les mêmes permissions déduites en a.

1. Modifier le masque des permissions de telle sorte qu’il n’y ait aucune interdiction pour le propriétaire et aucune permission pour le groupe et les autres puis :

aucune interdiction pour le propriétaire : 0

aucune permission pour le groupe : 7

aucune permission pour le autres : 7

🡺la valeur de umask est : 077

Publicité

1. Créer un nouveau répertoire rep2

~$ mkdir rep2

1. Avec vi, éditer un nouveau fichier essai2.txt (toujours pas dans rep2) contenant une ligne de texte, puis sauver et quitter vi

~$ vi essai2.txt

1. Afficher les informations détaillées sur rep1, essai1.txt, rep2 et essai2.txt.

~$ ls –ld rep1 🡺775

~$ ls –l essai1.txt🡺664

~$ ls –ld rep2 🡺700

~$ ls –l essai2.txt 🡺600

1. Vérifier que les permissions de essai2.txt et rep2 correspondent à ce qui a été demandé en 4

Oui elles correspondent

1. Remarquer que les permissions de essai1.txt et rep1 n’ont pas changé

Oui elles n’ont pas changé

1. Simplement par déduction, déterminer quelles sont les différences le masque utilisé à la question 4 et un masque à 066 :

2. sur les permissions accordées lors de la création des fichiers d’une part

droit fichiers=666-066=600 le même droit pour un masque de 077 aussi

1. sur les permissions accordées lors de la création des répertoires d’autre part

droit répertoires=777-066=711 ≠ 700 droit pour un masque de 077

1. Vérifions si vous avez bien cerné la différence qu’il y a :

2. Positionner le masque à la valeur 066

umask 066

1. Créer un nouveau répertoire rep3

~$ mkdir rep3

1. Avec vi, éditer un nouveau fichier essai3.txt contenant une ligne de texte, puis sauver et quitter vi

~$ vi essai3.txt

1. Afficher les informations détaillées sur rep1, essai1.txt, rep2, essai2.txt, rep3 et essai3.txt.

~$ ls –ld rep1 🡺775

~$ ls –l essai1.txt🡺664

Publicité

~$ ls –ld rep2 🡺700

~$ ls –l essai2.txt 🡺600

~$ ls –ld rep3 🡺711

~$ ls –l essai3.txt 🡺600

1. Vérifier vos réponses à la question 5 en remarquant que les permissions de essai2.txt et essai3.txt sont les mêmes alors que celles de rep2 et rep3 diffèrent.

oui

1. Observer à nouveau que les permissions des autres fichiers n’ont pas changé.

Oui ils n’ont pas changé

1. Fermer la fenêtre terminal, puis ouvrir une nouvelle fenêtre terminal. Vérifier la valeur du masque. Celui-ci a dû revenir à 002. Pourquoi ?

umask

002

Le changement de la valeur de umask affecte la session du shell en cours seulement.

Exercice 3

Modification manuelle des permissions des fichiers avec chmod

1. Se placer dans votre répertoire d’accueil

$ cd

1. Modifier les permissions de essai1.txt en enlevant le droit de lecture pour le groupe et les autres, et en permettant l’exécution pour l’utilisateur. Vérifier en demandant les informations détaillées sur ce fichier.

~$ chmod u+x,g-r,o-r essai1.txt

1. Modifier la protection du fichier essai2.txt en ajoutant le droit de lecture pour le groupe, et le droit d’exécution pour les autres. Vérifier en demandant les informations détaillées sur ce fichier.

~$ chmod g+r,o+x essai2.txt

1. Modifier la protection du fichier essai3.txt en interdisant l’écriture pour le propriétaire. Vérifier en demandant les informations détaillées sur ce fichier.

~$ chmod u-w essai3.txt

1. Editer essai3.txt sous vi. Insérer une ligne de texte et sauver. Remarquer la réaction de vi.

~$ vi essai3.txt en 🡺vi indique que le fichier en leture seule et empêche l’enregistrement de fichier

1. Quitter vi sans enregistrer (il faut taper :q!)

Correction Atelier 4 : Gestion des droits d’accès

Operating Systems and File Permissions · notes

Browse all systèmes d'exploitation et cloud documents

Correction Atelier 4 : Gestion des droits d’accès

Exercice 1

1. Dans votre répertoire personnel, créer deux répertoires nommés respectivement r\_tp\_3\_1 et r\_tp\_3\_2 ainsi que sept fichiers nommés respectivement f1, f2, f3, f4, f5, f6 et f7.

~$ mkdir r\_tp\_3\_1 r\_tp\_3\_2

~$ touch f1 f2 f3 f4 f5 f6 f7

1. Placer les 3 premiers fichiers dans le 1ier répertoire et les 3 suivants dans le 2ième répertoire.

~$ mv f1 f2 f3 r\_tp\_3\_1

~$ mv f4 f5 f6 r\_tp\_3\_2

1. Attribuer les droits d’accès aux fichiers et répertoires comme suit (avec la méthode symbolique) :

  • f1=640

640⬄ rw-r-----

~$ chmod u=rw,g=r,o= r\_tp\_3\_1/f1

  • f2=600

600⬄ rw-------

~$ chmod u=rw,g=,o= r\_tp\_3\_1/f2

  • f3=544

544⬄ r-xr—r--

~$ chmod u=rx,g=r,o=r r\_tp\_3\_1/f3

  • f4=740

740⬄ rwxr-----

~$ chmod u=rwx,g=r,o= r\_tp\_3\_2/f4

  • f5=644

644⬄ rw-r--r--

~$ chmod u=rw,g=r,o=r r\_tp\_3\_2/f5

  • f6=430

430⬄ r---wx---

~$ chmod u=r,g=xw,o= r\_tp\_3\_1/f6

  • f7=664

Advertisement

664⬄ rw-rw-r--

~$ chmod u=rw,g=rw,o=r f7

  • r\_tp\_3\_1=640

640⬄ rw-r-----

~$ chmod u=rw,g=r,o= r\_tp\_3\_1

  • r\_tp\_3\_2=330

640⬄ rw-r-----

~$ chmod u=rw,g=r,o= r\_tp\_3\_1/f1

1. Peut-on déplacer le fichier f7 dans le répertoire r\_tp\_3\_1 ? sinon pourquoi et comment faire pour pouvoir le déplacer.

Pour pouvoir déplacer f7 dans le répertoire r\_tp\_3\_1, il faut que le répertoire a le droit d’accès d’exécution pour pouvoir y accéder et le droit d’écriture mais r\_tp\_3\_1 n’a pas le droit d’exécution. Donc il faut ajouter le droit d’exécution pour pouvoir déplacer f7 : chmod u+x r\_tp\_3\_1

1. Peut-on afficher le contenu du répertoire r\_tp\_3\_2. Pourquoi ?

Non, on ne peut pas afficher le contenu de r\_tp\_3\_2 car ce dernier n’a pas le droit de lecture.

1. Créer un nouveau répertoire nommé r\_tp\_3\_3 ainsi que deux fichiers nommés f8 et f9.

~$ mkdir r\_tp\_3\_3

~$ touch f8 f9

1. Visualiser les droits d’accès relatifs à tous les fichiers et répertoires de votre répertoire courant

~$ ls -l

1. Etudier la faisabilité des opérations suivantes :

  • ls r\_tp\_3\_3

faisable droit r

  • cp f8 r\_tp\_3\_3

faisable droit wx pour r\_tp\_3\_3

  • mv f9 r\_tp\_3\_3

faisable droit wx pour r\_tp\_3\_3

  • cat r\_tp\_3\_3/f8

faisable droit x pour r\_tp\_3\_3 et droit r pour f8

  • rm r\_tp\_3\_3/f8

faisable droit wx pour r-\_tp\_3\_3

Advertisement

Exercice 2

La commande umask sert à positionner les permissions des fichiers créés dans le futur

1. Se placer dans votre répertoire de travail

$ cd

1. Afficher le contenu de ce répertoire avec les informations détaillées

~$ ls -l

1. Exécuter umask (seul) qui affiche le masque des permissions (protections) pour la création de fichiers :

~$ umask

umask=002 , droit par défauts=droit max-umak

À partir de ce qu’a écrit umask (s’il y a 4 chiffres, le premier 0 doit être ignoré), en déduire quelles seront les permissions des prochains fichiers créés (l’écrire sous la forme rwxrwxrwx)

droits max pour un fichier=666 =>droit par défaut=666-002=664 ⬄rw-rw-r--

1. En déduire aussi celles des prochains répertoires créés

droits max pour un répertoire=777=>droit par défaut=777-002=775 ⬄rwxrwxr-x

1. Créer un nouveau répertoire rep1

~$ mkdir rep1

1. Avec vi, éditer un nouveau fichier essai1.txt (pas dans rep1) contenant une ligne de texte, puis sauver et quitter vi

~$ vi essai1.txt

1. Afficher les informations détaillées sur rep1 (pas sur son contenu) et essai1.txt.

~$ ls –ld rep1

~$ ls –l essai1.txt

1. Observer leurs permissions et comparer avec vos déductions aux questions a. et b.

rep1 : rwxrwxr-x les mêmes permissions déduites en b.

essai1.txt : rw-rw-r—les mêmes permissions déduites en a.

1. Modifier le masque des permissions de telle sorte qu’il n’y ait aucune interdiction pour le propriétaire et aucune permission pour le groupe et les autres puis :

aucune interdiction pour le propriétaire : 0

aucune permission pour le groupe : 7

aucune permission pour le autres : 7

🡺la valeur de umask est : 077

Advertisement

1. Créer un nouveau répertoire rep2

~$ mkdir rep2

1. Avec vi, éditer un nouveau fichier essai2.txt (toujours pas dans rep2) contenant une ligne de texte, puis sauver et quitter vi

~$ vi essai2.txt

1. Afficher les informations détaillées sur rep1, essai1.txt, rep2 et essai2.txt.

~$ ls –ld rep1 🡺775

~$ ls –l essai1.txt🡺664

~$ ls –ld rep2 🡺700

~$ ls –l essai2.txt 🡺600

1. Vérifier que les permissions de essai2.txt et rep2 correspondent à ce qui a été demandé en 4

Oui elles correspondent

1. Remarquer que les permissions de essai1.txt et rep1 n’ont pas changé

Oui elles n’ont pas changé

1. Simplement par déduction, déterminer quelles sont les différences le masque utilisé à la question 4 et un masque à 066 :

2. sur les permissions accordées lors de la création des fichiers d’une part

droit fichiers=666-066=600 le même droit pour un masque de 077 aussi

1. sur les permissions accordées lors de la création des répertoires d’autre part

droit répertoires=777-066=711 ≠ 700 droit pour un masque de 077

1. Vérifions si vous avez bien cerné la différence qu’il y a :

2. Positionner le masque à la valeur 066

umask 066

1. Créer un nouveau répertoire rep3

~$ mkdir rep3

1. Avec vi, éditer un nouveau fichier essai3.txt contenant une ligne de texte, puis sauver et quitter vi

~$ vi essai3.txt

1. Afficher les informations détaillées sur rep1, essai1.txt, rep2, essai2.txt, rep3 et essai3.txt.

~$ ls –ld rep1 🡺775

~$ ls –l essai1.txt🡺664

Advertisement

~$ ls –ld rep2 🡺700

~$ ls –l essai2.txt 🡺600

~$ ls –ld rep3 🡺711

~$ ls –l essai3.txt 🡺600

1. Vérifier vos réponses à la question 5 en remarquant que les permissions de essai2.txt et essai3.txt sont les mêmes alors que celles de rep2 et rep3 diffèrent.

oui

1. Observer à nouveau que les permissions des autres fichiers n’ont pas changé.

Oui ils n’ont pas changé

1. Fermer la fenêtre terminal, puis ouvrir une nouvelle fenêtre terminal. Vérifier la valeur du masque. Celui-ci a dû revenir à 002. Pourquoi ?

umask

002

Le changement de la valeur de umask affecte la session du shell en cours seulement.

Exercice 3

Modification manuelle des permissions des fichiers avec chmod

1. Se placer dans votre répertoire d’accueil

$ cd

1. Modifier les permissions de essai1.txt en enlevant le droit de lecture pour le groupe et les autres, et en permettant l’exécution pour l’utilisateur. Vérifier en demandant les informations détaillées sur ce fichier.

~$ chmod u+x,g-r,o-r essai1.txt

1. Modifier la protection du fichier essai2.txt en ajoutant le droit de lecture pour le groupe, et le droit d’exécution pour les autres. Vérifier en demandant les informations détaillées sur ce fichier.

~$ chmod g+r,o+x essai2.txt

1. Modifier la protection du fichier essai3.txt en interdisant l’écriture pour le propriétaire. Vérifier en demandant les informations détaillées sur ce fichier.

~$ chmod u-w essai3.txt

1. Editer essai3.txt sous vi. Insérer une ligne de texte et sauver. Remarquer la réaction de vi.

~$ vi essai3.txt en 🡺vi indique que le fichier en leture seule et empêche l’enregistrement de fichier

1. Quitter vi sans enregistrer (il faut taper :q!)