NSI (première) · Chapitre 9 · Exercice de TD
Nour a écrit un script sauvegarde.sh
Machines, systèmes et réseaux · Système, fichiers et droits · niveau 2
Énoncé
Nour a écrit un script sauvegarde.sh. Elle tape ./sauvegarde.sh et obtient permission denied. La commande ls -l affiche :
-rw-r--r-- 1 nour eleves 312 6 sep 09:14 sauvegarde.sh
- Expliquer le refus, puis donner la commande qui le corrige, en notation octale.
- Un camarade conseille
chmod 777 sauvegarde.sh. Pourquoi est-ce une mauvaise habitude, même si « ça marche » ? - Nour veut que les autres élèves du groupe
elevespuissent exécuter le script mais pas le modifier, et que les utilisateurs extérieurs ne puissent rien en faire. Quel mode ?
Corrigé
1. Le mode est 644 : le propriétaire lit et écrit, personne n'exécute. Or lancer un script demande le droit x. Il faut donc l'ajouter au propriétaire : chmod 744 sauvegarde.sh (soit rwxr--r--).
2. 777 donne rwxrwxrwx : tout le monde peut modifier le script — et un script est exécuté avec les droits de qui le lance. N'importe quel utilisateur de la machine peut donc y glisser une ligne que Nour exécutera elle-même, sans le savoir. Le défaut n'est pas le droit x accordé à tous, c'est le w. Le principe est celui du moindre privilège : on accorde le droit qui manque, jamais tous les droits.
3. Exécution et lecture pour le groupe, rien pour les autres, tout pour le propriétaire : rwxr-x---, soit 750.
Contrôle des trois chiffres : rwx ; r-x ; ---. Le droit r est indispensable au groupe : un script est lu par l'interpréteur ligne à ligne, contrairement à un exécutable compilé, à qui x seul suffit.
100 % gratuit
Essaie le suivant avec le tuteur
- L'exercice suivant avec le tuteur, sans compte : il guide pas à pas, sans donner la réponse
- 16 autres exercices corrigés dans ce chapitre, et 20 à chercher avec le tuteur
- Le podcast et la vidéo du chapitre et la correction filmée du TD : 2 minutes sans compte
Sans compte : le cours, 2 minutes de podcast et de vidéo et un exercice avec le tuteur. Pour tout le reste : inscription gratuite en 30 secondes, sans carte bancaire.