Archivage

Exercice 1 :

  1. Récuperez sur le elearning le fichier RaoulVolfoni_FernandNaudin.zip

  2. Que contient il ? Pour ouvrir le fichier vous pouvez utiliser la commande unzip ou utiliser le navigateur de fichier.

    Effectivement c'est un rendu étudiant, avec la documentation du projet et les sources dans un répertoire src, le repertoire est au nom des deux binomes (les deux étudiants qui ont travaillé ensemble pour ce projet).

  3. Créer votre un répertoire pour votre propre projet en considérant que votre binome s'appelle Groucho Marx pour cet exercice.

  4. Utiliser par exemple: libreoffice pour créer votre fichier documentation.odt et ensuite l'exporter au format pdf, Utilisez un editeur de texte comme par exemple: geany ou gedit ou emacs pour creer le fichier moncode.py dans lequel vous écrirez la ligne suivante print(" Hello world"). (Vous avez créé un fichier python qui affiche " Hello World" quand il est appelé.)

  5. Créer une archive de votre "projet" et la rendre sur le elearning (rendu TP3).

Tout n'est pas permis

Dans tout système d'exploitation, il est nécessaire de protéger le fonctionnement du système en interdisant certaines actions à l'utilisateur. Pour cela, il existe une notion de droits (ou permissions).

Téléchargez le fichier frozen-bubble-2.2.0.zip sur la plateforme e-Learning du cours et décompressez-le dans le répertoire ~/L1/ISI/TP3 que vous aurez créé pour ce TP.

(Note: il s'agit d'une version modifiée pour ce TP de l'archive que vous pouvez télécharger librement sur www.frozen-bubble.org.)

Exercice 2 :

  1. Placez-vous dans le répertoire frozen-bubble-2.2.0 et tapez la commande ./first.sh. (Les commandes et autres programmes sont des fichiers comme les autres. Par exemple, /bin/ls est le fichier correspondant à la commande que vous connaissez bien. Pour exécuter un programme, il suffit de taper son nom. C'est ce que vous avez fait ici avec le fichier first.sh au début de l'exercice.)

  2. Listez les fichiers et répertoires contenus dans le dossier courant avec la commande ls. Essayez d'afficher le contenu du répertoire 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 et tentez de le modifier. Est-ce possible?

Modifier les droits des fichiers et répertoires

Droits des fichiers

La commande chmod liste_droits fichier(s) permet d'accorder ou de retirer au(x) fichier(s) passé(s) en arguments les permissions correspondant à liste_droits. Cette liste est de la forme droit_1, ..., droit_n où chaque droit_i peut être par exemple :

Exercice 3 : Votre répertoire personnel

L'option -d de la commande ls permet d'afficher les informations d'un répertoire et non de son contenu. Servez-vous de cette option (combinée avec l'option -l) pour afficher les droits de votre répertoire personnel. Que constatez-vous ?

Exercice 4 : Exécuter un fichier.

  1. Créez un répertoire Essai (si vous n'en possédez pas déjà un), et un fichier mon_ls dans ce répertoire, et écrivez-y quelques mots de votre choix.

  2. Notez à l'aide de ls -l les permissions actuelles du répertoire Essai et du fichier mon_ls.

  3. En utilisant la commande chmod, retirez-vous le droit en lecture et en écriture sur le fichier mon_ls. Vérifiez l'effet obtenu en essayant d'afficher le contenu du fichier sur la fenêtre du terminal avec la commande cat, puis de remplacer ce contenu par une phrase différente.

  4. Un fichier exécutable est simplement un fichier dont vous possédez le droit en exécution. Rétablissez le droit en écriture puis remplacez le contenu du fichier mon_ls par le texte "echo Contenu du dossier; ls". Ajoutez-vous le droit en exécution, et exécutez le fichier mon_ls en tapant ./mon_ls dans le terminal (depuis le répertoire qui le contient). Quel est le problème ?

  5. Rétablissez enfin le droit en lecture et tentez à nouveau d'exécuter le fichier. Que se passe-t-il?

Droits des répertoires

Si le sens de chaque droit pour un fichier ordinaire est assez clair, il est parfois moins intuitif pour un répertoire, comme vous le verrez dans l'exercice suivant.

Exercice 5 : Un test.

  1. Placez-vous dans le répertoire Essai, et retirez-vous le droit en lecture pour ce répertoire. Listez le contenu du répertoire avec ls, puis exécutez ou affichez le contenu du fichier mon_ls. Qu'en déduisez-vous ? Rétablissez le droit en lecture sur mon_ls et sur Essai.

  2. Créez dans Essai un fichier nouveau ainsi qu'un répertoire Test. Retirez au fichier nouveau et au répertoire Essai le droit en écriture. Tentez de modifier le fichier nouveau, de le déplacer, de le supprimer. Rétablissez ensuite le droit en écriture au répertoire Essai. Tentez de modifier le fichier nouveau, puis de le déplacer ou de le supprimer. Que constatez-vous ?

  3. Positionnez-vous dans votre répertoire personnel, puis retirez le droit en exécution du répertoire Essai. Tentez de créer, supprimer, ou modifier un fichier dans le répertoire Essai, de vous y déplacer, d'en faire la liste, etc. Qu'en déduisez-vous quant au sens du droit en exécution pour les répertoires ?

Partager ses fichiers et répertoires

Dans certains cas, par exemple dans le cadre d'un projet à plusieurs ou de la fabrication d'une page web, il peut être intéressant de donner accès à certains de ses fichiers ou répertoires à d'autres utilisateurs. Les exercices suivants explorent deux cas d'utilisation possibles.

Exercice 6 : Donner accès à ses fichiers.

  1. Attribuez au fichier mon_ls les droits suffisants pour qu'une autre personne de votre groupe UNIX puisse y accéder en lecture (mais pas en écriture).

  2. Les fichiers des utilisateurs, et en particulier vos fichiers, sont visibles depuis tous les ordinateurs de la salle. Demandez à votre voisin(e) de tenter de lire votre fichier mon_ls depuis sa machine.

  3. Essayez d'accéder aux répertoires personnels d'autres étudiants et de consulter leurs fichiers.

  4. (bonus) Créez un répertoire Dépôt où toute personne du groupe peut créer ou supprimer un fichier, mais dont personne d'autre que vous ne peut afficher le contenu. Testez son fonctionnement avec l'aide d'un autre utilisateur.