Utilisation de la notation symbolique pour les permissions
Bien que la notation numérique soit concise, la notation symbolique peut être plus intuitive, surtout lorsque vous souhaitez modifier une seule permission. La notation symbolique utilise des lettres pour représenter l'utilisateur, le groupe et les autres, ainsi que des opérateurs pour ajouter ou supprimer des permissions.
Dans cette étape, vous allez créer un petit script shell, puis lui ajouter la permission d'exécution.
Tout d'abord, créons un nouveau fichier de script avec du contenu :
cd ~/project
echo '#!/bin/bash' > script.sh
echo 'echo "Hello, World"' >> script.sh
Ces commandes font deux choses :
- La première commande
echo crée script.sh et y écrit la première ligne, #!/bin/bash. Cette ligne est appelée "shebang" et indique à Linux d'exécuter le script avec Bash.
- La seconde commande
echo ajoute une nouvelle ligne à la fin du fichier avec >>. Elle écrit echo "Hello, World", qui affichera Hello, World lors de l'exécution du script.
Vous pouvez confirmer que le fichier contient maintenant deux lignes distinctes avec :
cat script.sh
Vous devriez voir :
#!/bin/bash
echo "Hello, World"
Maintenant, vérifions ses permissions initiales :
ls -l script.sh
Vous devriez voir quelque chose comme :
-rw-rw-r-- 1 labex labex 32 Jul 29 16:30 script.sh
Comme vous pouvez le constater, initialement, le script n'a que les permissions de lecture et d'écriture pour le propriétaire et le groupe, et la permission de lecture pour les autres. Il n'a pas la permission d'exécution, qui est requise pour l'exécuter en tant que programme.
Essayons d'exécuter le script :
./script.sh
Vous devriez voir une erreur "Permission denied" car le script n'a pas encore les permissions d'exécution. La partie ./ indique au shell d'exécuter le script situé dans le répertoire actuel.
Maintenant, ajoutons la permission d'exécution pour le propriétaire en utilisant la notation symbolique :
chmod u+x script.sh
Dans cette commande :
u fait référence à l'utilisateur (propriétaire). Les autres options sont g pour le groupe, o pour les autres et a pour tous (utilisateur, groupe et autres).
+x ajoute la permission d'exécution. Le symbole + ajoute une permission, tandis que le symbole - supprime une permission.
Ainsi, u+x signifie "ajouter la permission d'exécution pour le propriétaire".
Vérifions le changement :
ls -l script.sh
Vous devriez maintenant voir :
-rwxrw-r-- 1 labex labex 32 Jul 29 16:30 script.sh
Le propriétaire a maintenant les permissions rwx (lecture, écriture et exécution).
Maintenant, essayons d'exécuter à nouveau le script :
./script.sh
Cette fois, vous devriez voir la sortie :
Hello, World
Cet exemple démontre clairement pourquoi nous devons ajouter des permissions d'exécution aux scripts, ainsi que la différence avant et après l'ajout de ces permissions. La notation symbolique facilite la modification de permissions spécifiques sans avoir à recalculer toute la représentation numérique.