Comment octroyer l'autorisation d'exécution à un script shell

ShellShellBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Ce tutoriel vous guidera tout au long du processus d'octroi des autorisations d'exécution pour vos scripts Shell. Comprendre les autorisations de fichiers et savoir comment les appliquer est un aspect crucial de la programmation Shell, car cela vous permet de rendre vos scripts exécutables et prêts à être exécutés.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL shell(("Shell")) -.-> shell/BasicSyntaxandStructureGroup(["Basic Syntax and Structure"]) shell(("Shell")) -.-> shell/SystemInteractionandConfigurationGroup(["System Interaction and Configuration"]) shell/BasicSyntaxandStructureGroup -.-> shell/shebang("Shebang") shell/SystemInteractionandConfigurationGroup -.-> shell/exit_status_checks("Exit Status Checks") subgraph Lab Skills shell/shebang -.-> lab-417761{{"Comment octroyer l'autorisation d'exécution à un script shell"}} shell/exit_status_checks -.-> lab-417761{{"Comment octroyer l'autorisation d'exécution à un script shell"}} end

Comprendre les autorisations de fichiers

Dans le système d'exploitation Linux, chaque fichier et répertoire dispose d'un ensemble d'autorisations qui déterminent qui peut effectuer certaines actions sur eux. Ces autorisations sont divisées en trois catégories principales : lecture, écriture et exécution.

Autorisations de fichiers

Les autorisations d'un fichier sont représentées par une chaîne de 10 caractères, qui ressemble à ceci :

-rw-r--r--

Le premier caractère indique le type de fichier, où - représente un fichier ordinaire, d représente un répertoire, et d'autres caractères représentent des types de fichiers spéciaux.

Les 9 caractères restants représentent les autorisations du fichier, divisées en trois groupes de trois :

  1. Autorisations de l'utilisateur : Les trois premiers caractères représentent les autorisations du propriétaire du fichier.
  2. Autorisations du groupe : Les trois caractères suivants représentent les autorisations du groupe auquel le fichier appartient.
  3. Autorisations des autres : Les trois derniers caractères représentent les autorisations de tous les autres utilisateurs.

Chacun de ces groupes de trois caractères suit le même modèle :

  • r : Autorisation de lecture
  • w : Autorisation d'écriture
  • x : Autorisation d'exécution
  • - : Aucune autorisation

Par exemple, les autorisations -rw-r--r-- indiquent que le propriétaire du fichier a les autorisations de lecture et d'écriture, le groupe a l'autorisation de lecture, et tous les autres utilisateurs ont l'autorisation de lecture.

Autorisations de répertoire

Les autorisations d'un répertoire fonctionnent légèrement différemment de celles d'un fichier. Les autorisations sont toujours divisées en les mêmes trois groupes, mais les significations des autorisations sont différentes :

  • r : Permet aux utilisateurs de lister le contenu du répertoire.
  • w : Permet aux utilisateurs de créer, supprimer et renommer des fichiers et des sous-répertoires dans le répertoire.
  • x : Permet aux utilisateurs d'accéder et de naviguer dans le répertoire.

Par exemple, les autorisations drwxr-xr-x indiquent que le propriétaire du répertoire a les autorisations de lecture, d'écriture et d'exécution, le groupe a les autorisations de lecture et d'exécution, et tous les autres utilisateurs ont les autorisations de lecture et d'exécution.

Comprendre les autorisations octales

En plus de la représentation symbolique des autorisations, vous pouvez également représenter les autorisations à l'aide d'un nombre octal (base 8). Chaque autorisation est assignée une valeur :

  • r = 4
  • w = 2
  • x = 1

Les autorisations d'un fichier ou d'un répertoire sont ensuite représentées par un nombre octal à 3 chiffres, où chaque chiffre représente les autorisations de l'utilisateur, du groupe et des autres, respectivement.

Par exemple, les autorisations -rw-r--r-- peuvent être représentées par le nombre octal 644, où :

  • Autorisations de l'utilisateur : rw- = 4 + 2 + 0 = 6
  • Autorisations du groupe : r-- = 4 + 0 + 0 = 4
  • Autorisations des autres : r-- = 4 + 0 + 0 = 4

Octroyer l'autorisation d'exécution

Pour exécuter un script shell, le fichier doit avoir l'autorisation d'exécution définie. Cela peut être fait en utilisant la commande chmod, qui signifie "change mode" (changer le mode).

Utilisation de la commande chmod

La commande chmod est utilisée pour modifier les autorisations d'un fichier ou d'un répertoire. La syntaxe de base est :

chmod [options] mode file

Où :

  • [options] sont des indicateurs facultatifs qui modifient le comportement de la commande chmod.
  • mode est le nouveau mode d'autorisation que vous souhaitez définir.
  • file est le nom du fichier ou du répertoire pour lequel vous souhaitez modifier les autorisations.

Pour octroyer l'autorisation d'exécution à un script shell, vous pouvez utiliser la commande suivante :

chmod +x script.sh

Cela ajoutera l'autorisation d'exécution (x) au fichier script.sh pour l'utilisateur, le groupe et les autres.

Alternativement, vous pouvez utiliser la représentation octale des autorisations :

chmod 755 script.sh

Cela définira les autorisations sur rwxr-xr-x, où :

  • L'utilisateur (propriétaire) a les autorisations de lecture, d'écriture et d'exécution.
  • Le groupe et les autres ont les autorisations de lecture et d'exécution.

Application des autorisations d'exécution de manière récursive

Si vous avez un répertoire contenant plusieurs fichiers et sous-répertoires, vous pouvez appliquer l'autorisation d'exécution de manière récursive en utilisant l'option -R (récursive) :

chmod -R +x directory/

Cela octroyera l'autorisation d'exécution à tous les fichiers et sous-répertoires du répertoire directory/.

De même, vous pouvez utiliser la représentation octale pour définir les autorisations de manière récursive :

chmod -R 755 directory/

Cela définira les autorisations sur rwxr-xr-x pour tous les fichiers et sous-répertoires du répertoire directory/.

En comprenant et en appliquant les autorisations de fichiers appropriées, vous pouvez vous assurer que vos scripts shell sont exécutables et peuvent être exécutés par les utilisateurs prévus.

Appliquer les autorisations d'exécution

Maintenant que vous savez comment octroyer l'autorisation d'exécution à un script shell, explorons quelques applications pratiques et exemples.

Exécution d'un script shell

Une fois que vous avez octroyé l'autorisation d'exécution à un script shell, vous pouvez l'exécuter en utilisant la commande suivante :

./script.sh

Cela exécutera le fichier script.sh, en supposant qu'il se trouve dans le répertoire de travail actuel.

Si le script se trouve dans un répertoire qui n'est pas dans le PATH de votre système, vous pouvez toujours l'exécuter en spécifiant le chemin complet du script :

/path/to/script.sh

Automatisation de tâches avec les autorisations d'exécution

L'octroi d'autorisations d'exécution est particulièrement utile lorsque vous souhaitez automatiser des tâches ou des scripts répétitifs. Par exemple, vous pouvez créer un script shell qui effectue une opération de sauvegarde, puis définir l'autorisation d'exécution sur le script. Cela vous permet d'exécuter facilement le script de sauvegarde chaque fois que vous avez besoin d'effectuer une sauvegarde.

graph LR A[Créer le script de sauvegarde] --> B[Octroyer l'autorisation d'exécution] B --> C[Exécuter le script de sauvegarde]

Sécurisation des scripts sensibles

La gestion appropriée des autorisations d'exécution est également importante pour sécuriser les scripts ou les programmes sensibles. En contrôlant soigneusement qui a la capacité d'exécuter certains scripts, vous pouvez limiter le risque d'accès non autorisé ou d'utilisation abusive.

Par exemple, vous pouvez avoir un script qui effectue des tâches administratives ou accède à des données sensibles. Dans ce cas, vous voudrez vous assurer que seuls les utilisateurs ou les processus autorisés ont l'autorisation d'exécution pour ce script.

Développement collaboratif

Lorsque vous travaillez sur un projet avec plusieurs membres d'équipe, la gestion des autorisations d'exécution peut aider à garantir que tout le monde peut exécuter les scripts et les programmes nécessaires. En définissant les autorisations appropriées, vous pouvez permettre aux membres de l'équipe d'exécuter les scripts dont ils ont besoin tout en conservant le contrôle sur le système global.

En comprenant comment appliquer correctement les autorisations d'exécution, vous pouvez améliorer la sécurité, l'automatisation et les aspects collaboratifs de vos flux de travail de script shell.

Résumé

À la fin de ce tutoriel, vous aurez une bonne compréhension des autorisations de fichiers dans l'environnement Shell ainsi que des étapes à suivre pour octroyer l'autorisation d'exécution à vos scripts. Cette connaissance vous permettra de créer et de gérer efficacement des scripts Shell, en vous assurant qu'ils peuvent être exécutés comme prévu.