Plus facile à lire avec un fond crème, une teinte, plus de contraste ou un texte plus grand ? Choisissez vos couleurs et votre texte, une fois pour toutes les pages.

Leçon gratuite

Linux au quotidien 2 : droits et suppression

La leçon complète est à lire ici. Créez un compte gratuit pour la pratiquer dans un labo en direct.

Labo de machine virtuelle11 min de lecture12 commandes

Le script qui ne veut pas se lancer

Tu écris un petit script, tu tapes son nom et la machine répond : permission refusée. C'est toi qui l'as écrit et il est à toi. La machine refuse quand même, car sous Linux chaque fichier dit qui peut le lire, qui peut le modifier et qui peut l'exécuter.

À la fin de cette leçon

Remarque

Je peux changer qui a le droit d'exécuter un fichier et supprimer des fichiers avec précaution.

Mots-clés

  • Droit : ce qui dit qui peut lire, modifier ou exécuter un fichier.
  • Propriétaire : l'utilisateur à qui appartient un fichier.
  • Groupe : une liste nommée d'utilisateurs qui partagent des fichiers.
  • Script : un fichier de commandes que la machine exécute pour toi.

Pour commencer : ce que tu sais déjà

Remarque

Réponds dans ta tête. 1. Quelle commande affiche le dossier où tu es ? 2. Quel signe met des mots dans un fichier en remplaçant ce qu'il contenait ? 3. Quelle est la différence entre un fichier et un dossier ?

Avant de commencer

Remarque

Appuie sur Démarrer le lab dans la barre en haut de cette leçon. Ce lab est une machine Ubuntu entière, rien que pour toi : elle met un peu plus de temps à démarrer qu'un conteneur. Chaque bouton Exécuter tape sa commande dans le terminal de la machine, l'une après l'autre, dans la même session. Si l'un d'eux dit que la machine démarre encore, attends quelques secondes et appuie de nouveau. Quand la leçon dit Tape ceci, la commande ne se termine pas toute seule ou te pose une question : appuie sur Ouvrir le terminal dans la barre et tape-la toi-même.

Un nouveau fichier ne peut pas encore s’exécuter

La première colonne de ls -l donne les droits. Après le premier caractère viennent trois groupes de rwx : ce que le propriétaire, le groupe et tous les autres peuvent lire (r), écrire (w) et exécuter (x). Un nouveau fichier n'a pas de x, donc le premier ./hello.sh est refusé. chmod +x ajoute le droit de l'exécuter, et au deuxième essai tu vois it works.

Commande
cd

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Commande
echo 'echo it works' > hello.sh

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Commande
ls -l hello.sh

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Commande
./hello.sh

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Commande
chmod +x hello.sh

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Commande
ls -l hello.sh

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Commande
./hello.sh

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Vérifie

Astuce

Dans -rw-r--r--, qui peut écrire dans le fichier ? Réponse : seulement le propriétaire. Le groupe et tous les autres peuvent seulement le lire.

Supprimer ce dont tu n’as plus besoin

rm supprime un fichier. rm -rf supprime un dossier et tout ce qu'il contient, sans rien demander. Le dossier scratch a été fait pour que tu y supprimes des choses, et la dernière commande n'affiche rien, car il est vide maintenant.

Commande
rm scratch/old.log

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Commande
rm -rf scratch/cache

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Commande
ls scratch

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Une erreur fréquente

Attention

Beaucoup de gens croient qu'un fichier supprimé va dans une corbeille et qu'on peut le récupérer, comme sur un téléphone ou un bureau. Sur un serveur, rm est définitif : le fichier a disparu. Avant rm -rf, lance pwd et ls et relis le chemin deux fois. Un rm -rf avec un mauvais chemin, ou avec une espace au mauvais endroit, a déjà effacé des serveurs entiers.

Qui suis-je, et qui d’autre est là ?

whoami affiche ton nom d'utilisateur. id dev montre un autre compte de cette machine, que les leçons suivantes utilisent. Chaque compte a ses propres fichiers, et les droits décident ce que chacun peut toucher.

Commande
whoami

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Commande
id dev

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Vérification finale

Astuce

Réponds sans regarder en arrière. 1. Quelle commande permet à un fichier de s'exécuter ? 2. Que veut dire rwx ? 3. Pourquoi vérifier avec pwd avant rm -rf ? Réponses : chmod +x ; lire, écrire, exécuter ; il n'y a pas de corbeille, donc un mauvais chemin ne se rattrape pas.

Pour les enseignants

Astuce

Cette leçon se fait dans un lab de type machine virtuelle : chaque élève a sa propre machine Ubuntu, et un bouton Exécuter tape dans son terminal et montre ce qui s'est affiché. Points clés : 1. Les droits disent qui peut lire, écrire et exécuter un fichier, et chmod +x le laisse s'exécuter. 2. rm est définitif, donc on vérifie le chemin d'abord. Erreur fréquente : croire que rm a une corbeille. Matériel : le lab et un navigateur. Conseil : faites lire le chemin à voix haute avant d'appuyer sur Entrée pour rm -rf. Le lab n'a pas de vérification et ne note rien ; donnez un travail à rendre de votre choix si vous voulez une note.

À propos de ce labo et de sa source: Lab Linux du quotidien : la trentaine de commandes que les ingénieurs tapent de tête

Vous enseignez à une classe ? Proposez ces leçons à vos élèves avec correction et un labo pour chaque élève.