Aller au contenu

6. Exercices

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.

6.1 Exercice

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


seb@debian10:~/Documents ls -l
total 8
drwxr-xr-- 2 seb seb 4096 juil. 10 17:56 bidule
-rwxrw---x 1 seb profs  0 juil. 10 17:56 machin.sh
-rwxr-x--- 1 bob profs  3 juil. 10 17:57 truc
  1. Quel est l'utilisateur ?
  2. Quel est le nom de la machine utilisée ?
  3. Quel est le répertoire courant ?
  4. Combien contient-il de fichiers ? de dossiers ?
  5. Pour le fichier machin.sh, expliquer chacune des informations affichées.
  6. Donner la valeur octale des permissions sur ces fichiers / dossiers.
Réponses
  1. utilisateur : seb
  2. nom de la machine utilisée : debian10
  3. répertoire courant : ~/Documents (/home/seb/Documents)
  4. Combien de fichiers : deux fichiers (machin.sh et truc) et un dossier (bidule).
  5. Pour le fichier machin.sh, information donnée par ls - l: -rwxrw---x
    • droits en lecture/écriture/exécution pour le propiétaire seb,
    • droits en lecture/écriture pour le groupe prof,
    • droits en exécution pour les autres.
    • Taille du fichier 0 octet.
    • Dernière modificaton du fichier le 10 juillet à 17h56.
  6. Valeurs octales.
    • drwxr-xr--: 400+200+100+40+10+4 = 754.
    • -rwxrw---x: 400+200+100+40+20+1 = 761.
    • -rwxr-x---: 400+200+100+40+10 = 750.

6.2 Exercice

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

Réponses
  • 451: r-- r-x --x
  • 742: rwx r-- -w-
  • 254: -w- r-x r--
  • 650: rw- r-x ---

6.3 Exercice

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.
Réponses

rw- r-- --x.
En octal 641

6.4 Exercice

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.
Réponses

rwx r-x --x
En octal 751

6.5 Exercice

Chercher à comprendre chaque étape à partir de la question 4 en affichant les droits des fichiers et répertoires.

  1. Dans le dossier Documents du poste, créez un dossier TD_exo2 et déposez le fichier frozen-bubble-2.2.0.zip dedans (ne pas choisir le dossier Documents de votre perso, prendre celui du poste).
  2. Ouvrez un terminal, placez vous dans le dossier TD_exo2.
    Dézippez le fichier précédent à l'aide de la commande unzip frozen-bubble-2.2.0.zip.
  3. Placez vous dans le répertoire frozen-bubble-2.2.0 et exécutez la commande bash first.sh.
  4. Listez les fichiers et répertoires contenus dans le dossier courant.
  5. Essayez d’afficher le contenu du répertoire tools. Que se passe-t-il?
  6. Essayez de vous placer dans le répertoire icons. Pouvez-vous lister son contenu ?
  7. 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?
  8. Essayez d’afficher le contenu du fichier README avec la commande cat. Que se passe-t-il?
  9. Ouvrez le fichier settings.mk avec un éditeur de texte, en tapant par exemple geany settings.mk et tentez de le modifier. Est-ce possible?
  10. Afficher le contenu du fichier first.sh avec la commande cat. Ce fichier est celui qui a été exécuté en question 3: les commandes qu'il contient sont celles qui ont supprimé des droits sur les fichiers et répertoires manipulés précédemment. Vérifiez que cela correspond bien à ce que vous avez obtenu dans les questions précédentes.
Indications

4. Utilisez ls.
5. ls tools donne: impossible d'ouvrir le répertoire 'tools': Permission non accordée. Pour comprendre la situation, taper ls -l: on constate que les droits sur le dossier tools sont donnés par d-wxrwxrwx. Le propriétaire (vous puisque c'est vous qui avez créé tout le répertoire sur votre machine) ne peut pas lire le contenu.
6. Les droits sur icons sont drw-r-xr-x. En tant que propriétaire, vous n'avez pas le droit x. Vous ne pouvez pas entrer dans le répertoire (avec cd). Vous avez le droit r: vous pouvez voir le nom des fichiers et répertoires contenus dans icons (avec ls).
7. Les droits sur le répertoire server sont dr-xr-xr-x. Vous n'avez pas le droit w: la tentative de création de fichier (depuis frozen-bubble-2.2.0) par touch server/i_was_here.txt échoue. Vous avez le droit x : vous pouvez vous placer dans le dossier server par la commande cd server depuis frozen-bubble-2.2.0 (mais vous ne pouvez toujours pas créer un nouveau contenu).
8. Les droits du fichier README sont --w-r--r--. Vous n'avez pas le droit en lecture, la commande cat README sera donc sans effet (permission non accordée).
9. Les droits sur settings.mk sont -r--r--r--. Vous avez le droit en lecture. La commande nano settings.mk (ou geany settings.mk pour utiliser l'éditeur geany plutôt que l'éditeur nano) vous permettra donc de lire le contenu. Mais vous n'avez pas le droit en écriture: il ne vous est pas possible de faire de modifications dans le fichier.
10. Les droits sur first.sh sont -rwx------. Vous pouvez donc afficher le contenu de ce fichier avec cat first.sh.

6.6 Exercice

  1. Créez dans /home/nsi/Documents un dossier TD_exo3 puis un fichier fich1.
    • Observez les droits de fich1,
    • attribuez lui tous les droits pour tout le monde à l'aide de chmod et observez à nouveau ses droits
  2. Créez un fichier private.txt dans TD_exo3 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 ?
  3. 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 ?

6.7 Exercice

  • Créez un fichier mon_prog.sh dans un dossier TD_exo4
  • à l'aide de la commande geany mon_prog.sh taper le code suivant et enregistrer le fichier:
#!/bin/bash

echo "Liste des fichiers du répertoire courant:"
ls -l
  • Exécutez le script précédent en saisissant (en ligne de commande): ./mon_prog.sh.
  • Que se passe-t-il ?
  • Comment y remédier ?
Réponses

Le script ne s'exécute pas car le fichier créé n'a pas a priori le droit x.
Il faut donc ajouter ce droit:
chmod u+x mon_prog.sh.