Droits et Permissions sur système POSIX

Pour faire les exercices, vous vous référerez aux commandes vues dans les pages précédentes. Les exercices sont à faire sur votre cahier.

Exercice 1

Ci-dessous, le résultat de la commande ls -l en console :

1
seb@debian10:~/Documents ls -l
2
total 8
3
drwxr-xr-- 2 seb seb 4096 juil. 10 17:56 bidule
4
-rwxrw---x 1 seb profs  0 juil. 10 17:56 machin.sh
5
-rwxr-x--- 1 bob profs  3 juil. 10 17:57 truc

Question

  1. Quelle est la session utilisateur ?

  2. Quel est le nom de la machine utilisée ?

  3. Quel est le dossier courant (chemin à fournir en absolu) ?

  4. Combien contient-il de fichiers ? de dossiers ?

  5. Pour chaque fichier ou dossier, expliquer chacune des informations affichées.

  6. Donner la valeur octale des permissions sur ces fichiers / dossiers.

Exercice 2

Question

A quels droits correspondent les valeurs octales suivantes : 451 ; 742 ; 254 et 650 ?

Exercice 3

Question

Quels sont les droits sur un fichier et les valeurs octales correspondants à :

  • Le propriétaire peut afficher le contenu et le modifier.

  • Le groupe propriétaire peut lire le contenu.

  • Les autres peuvent exécuter le fichier.

Exercice 4

Question

Quels sont les droits sur un dossier et les valeurs octales correspondants à:

  • Le propriétaire peut lister le contenu et créer / supprimer des fichiers.

  • Le groupe propriétaire lister le contenu uniquement.

  • Les autres peuvent traverser le dossier uniquement.

Exercice 5

Chercher à comprendre chaque étape, à partir de la question 1, en affichant les droits des fichiers et dossiers. Au préalable...

  • Dans le dossier de Téléchargements (en local sur le PC), créez un dossier Linux_TD_exo5 et déposez le fichier frozen-bubble-2_2_0.zip dedans :

  • Ouvrez un terminal, placez vous dans le dossier TD_exo5.

  • Dézippez le fichier précédent à l'aide de la commande :

1
unzip frozen-bubble-2_2_0.zip
  • Placez vous dans le dossier frozen-bubble-2.2.0/ et exécutez la commande :

1
bash first.sh

Question

  1. Listez les fichiers et dossiers contenus dans le dossier courant.

  2. Essayez d'afficher le contenu du dossier tools. Que se passe-t-il ?

  3. Essayez de vous placer dans le répertoire icons. Pouvez-vous lister son contenu ?

  4. Essayez de créer un fichier i_was_here.txt dans le répertoire server. Avez-vous essayé de vous placer dans le dossier server?

  5. Essayez d'afficher le contenu du fichier README avec la commande cat. Que se passe-t-il ?

  6. Ouvrez le fichier settings.mk avec un éditeur de texte nano en tapant nano settings.mk et tentez de le modifier. Est-ce possible ?

  7. Afficher le contenu du fichier first.sh avec la commande cat. Ce fichier est celui qui a été exécuté au préalable : les commandes qu'il contient sont celles qui ont supprimé des droits sur les fichiers et dossiers manipulés précédemment. Vérifiez que cela correspond bien à ce que vous avez obtenu dans les questions précédentes.

Exercice 6

Dans votre dossier personnel NSI, créez un dossier TD_exo6 puis un fichier fich1.

Question

  • Observez les droits de fich1,

  • Attribuez lui tous les droits pour tout le monde à l'aide de chmod et observez à nouveau ses droits

  • Créez un fichier private.txt dans TD_exo6 avec les permissions suivantes :

    • Lecture et écriture seulement autorisées pour le propriétaire du fichier

    • Aucun droit pour les autres.

    • Ajoutez au groupe propriétaire la possibilité de lire le fichier. Puis à tous les utilisateurs.

    • Modifiez les droits d'accès de private.txt pour en empêcher la lecture, l'écriture et l'exécution par qui que ce soit. Essayez de lire le contenu du fichier. Que se passe-t-il ?

    • Ajoutez la possibilité au propriétaire de lire le fichier. Essayez de modifier le contenu du fichier private.txt. Quelle commande utiliser pour avoir le droit de modifier le contenu du fichier ?

Exercice 7

  • Créez un fichier mon_prog.sh dans un dossier TD_exo7

  • À l'aide d'un éditeur Geany, copiez le code suivant à l'intérieur :

1
#!/bin/bash
2
3
echo "Liste des fichiers du répertoire courant"
4
ls -l

Question

  • Exécutez le script précédent en saisissant (en ligne de commande) :

1
./mon_prog.sh
  • Que se passe-t-il ?

  • Comment y remédier ?

Indice

Regardez les droits associés au fichier.