public:unix:fichiers

Fichiers

Chaque fichier unix (c'est à dire à peu près tout) possède des droits d'utilisation. Cet article expose en détail la gestion des droits.

Il existe trois catégories de droits :

  1. ceux liés à l'utilisateur (user),
  2. ceux liés à son (ou ses) groupes (group),
  3. les autres utilisateurs (other).

Et trois possibilités :

  1. lire (read) son contenu,
  2. écrire (write) ou effacer,
  3. exécuter (execute). Si le fichier est un programme on peut l'exécuter et si c'est un dossier on peut y accéder.

On peut connaitre les droits d'un dossier ou de fichiers en :

  • accédant à la partie propriétés… > permissions en cliquant droit sur un élément du gestionnaire de fichiers
  • en utilisant l'argument -l de la commande ls.

Quels sont vos droits ?

  1. En utilisant un gestionnaire de fichier, regardez les permissions de votre dossier html par exemple, ou bien du fichier index.html placé dans le dossier html de votre voisin .
  2. Testez les commandes whoami et groups dans un émulateur de terminal. A quoi servent-elles ?

Changeons les droits !

Créez un répertoire que vous nommerez dropbox, choisissez une image de l'internet et sauvegardez la dans le repertoire créé.

  1. Je te vois. Par défaut, votre voisin peu cliquer sur l'image pour la voir. Testez le.
  2. Je ne te vois plus. Modifiez les droits pour que seul vous puissiez voir l'image.

Ligne de commande

Pour voir les droits des fichiers, on utilisera l'argument -l de ls. La commande pour changer les droits est chmod. Utilisez cet article pour refaire ce que vous avez fait précédemment en utilisant l'émulateur de terminal.

Vous pouvez mettre à disposition de l'internet des fichiers (attention à ce que vous faites…). Vous pouvez voir les fichiers que vous mettez à disposition là : http://monlogin.perso.centrale-marseille.fr/visible/. Il faut bien sur changer monlogin en votre login.

Le dossier visible de l'internet est dans le dossier : html/visible. Pour rendre un fichier non téléchargeable il faut modifier les droits pour other.

Attention, ce qui est visible de l'internet est visible du monde entier !

A faire

Testez cette fonctionnalité en mettants deux images dans votre visible, une visible de tout le monde, et une uniquement visible pour vous.

Tout marche-t-il correctement ?

Il est d'usage de transmettre les dossiers ou les fichiers volumineux en les compressant. Dans le monde unix 2 formats sont communément utilisés :

  1. le format zip (permet de compresser tout un dossier)
  2. le format tar.gz (on commence par utiliser l'utilitaire tar qui rassemble tout en un seul fichier, que l'on compresse ensuite)
  1. En utilisant le gestionnaire de fichier compressez le répertoire dropbox de la partie précédente des deux façons (cliquez droit sur le répertoire puis créer une archive). Placez ces deux fichiers sur votre visible.
  2. récupérez ces deux fichiers depuis le visible de votre voisin et décompressez les dans un dossier temp que vous aurez créé dans votre répertoire racine (votre maison).
  3. refaire tout ça en utilisant les lignes de commandes :
    1. commandes zip (lisez le man, il faut utiliser l'argument -r) et unzip
    2. commandes tar czvf et tar xzvf (que signifient les arguments ?)

Copiez-coller la ligne suivante dans un terminal. Puis appuyez sur la touche enter.

echo 'echo coucou `whoami` !' > salut.sh

Vous venez de créer un fichier nommé salut.sh dans le repertoire courant. Vérifiez-le (en utilisant la commande ls).

Ce fichier est un script qui peut être exécuté.

  1. Commencez par voir l'intérieur du fichier (vous pourrez par exemple utiliser la commande cat salut.sh dans un terminal, ou afficher le contenu du fichier en utilisant le gestionnaire de fichier)
  2. puis permettez à tout le monde de l'exécuter en changeant ses droits),
  3. enfin exécuter le fichier en tapant la commande ./salut.sh (qui va exécuter le fichier nommé salut.sh présent le répertoire courant ./).
  4. méditez sur le résultat obtenu.

Dans le monde unix, rien n'est magique. Tout ce qui est tapé dans un émulateur de terminal est un fichier placé dans un dossier. La commande cat de tout à l'heure est un fichier par exemple. Pour savoir où est ce fichier, on pourra utiliser la commande which.

Si vous tapez which cat puis enter, on vous indiquera où est placé la commande cat.

Question : Où est placée la commande which ?

Seule une petite quantité de dossiers est scanné pour savoir s'il contient une commande. Ces dossiers sont visible dans la variable PATH. Tapez echo $PATH pour connaitre ces répertoires.

Vous remarquerez que votre répertoire n'y apparait pas. C'est pourquoi il a fallut taper ./salut.sh pour exécuter le fichier salut.sh et pas juste salut.sh.

Les commandes

Trouvez où est placé le fichier python3 et pycharm.sh que vous utiliserez dans le module algorithmie.

les fichiers de données

Dans votre répertoire dropbox exécutez le code suivant :

echo 'print("Salut les 1A !")' > salut.py

Vous venez de créer un fichier salut.py qui sera exécutable par le programme (fichier) python3.

Il existe des éditeurs pour terminal performant et plus ou moins user friendly comme pico, nedit ou encore l'inusable vim (attention, lisez le manuel avant de vous en servir…)

Si vous êtes dans le répertoire dropbox la commande :

python3 salut.py

Doit fonctionner. Que fait-elle ?

Placez vous maintenant dans votre répertoire racine. Retapez la commande précédente. Il doit y avoir une erreur. Pourquoi ?

  • public/unix/fichiers.txt
  • Dernière modification : 2016/10/11 10:10
  • de pprea