Modes de paiement Abuse

Rendre un fichier exécutable sous Linux

06.03.2021, 20:51

Ce qui différencie Linux de Windows en termes d'exécution de fichiers, c'est que le premier système définit les fichiers exécutables comme des fichiers de programme non pas par leur extension, mais par un drapeau d'exécutabilité spécial. Chaque fichier possède donc trois modes d'exécution : lecture, exécution et écriture. Ce sont ces modes qui déterminent ce que le système peut faire avec un fichier particulier. Lorsqu'un utilisateur télécharge divers programmes d'installation sur l'internet ou crée un script, les modes suivants lui sont attribués par défaut : lecture et écriture. En résumé, l'utilisateur ne pourra rien faire avec un tel programme, car il faut faire quelque chose d'autre avec.

Que signifie l'exécutabilité ?

Mais avant toute chose, il convient de répondre à la question suivante : qu'est-ce que l'exécutabilité et qu'est-ce que cela signifie en général ? Commençons par un programme, qui est un ensemble d'instructions exécutées par un processeur sur un ensemble de données afin d'obtenir le résultat souhaité. Pour le processeur, il n'y a pas de différence entre les instructions et les données.

Les premières comme les secondes sont constituées de chiffres - des octets. C'est-à-dire qu'une certaine combinaison de chiffres indiquera au processeur la nécessité d'effectuer une action particulière. Pour le processeur, il n'y a pas de différence fondamentale quant au processus à exécuter - des données du système d'exploitation ou un fichier texte. Le premier et le second seront tous deux exécutés, sauf que dans le cas d'un fichier texte, le besoin d'instructions est en fait éliminé.

Les drapeaux d'exécutabilité ont été inventés pour permettre au système de comprendre quelles instructions doivent être exécutées et lesquelles ne doivent pas l'être. En fait, le contenu ne change en rien en fonction de la classe d'exécutabilité définie - la différence se résume à quelques lignes. Avec les scripts, tout fonctionne de la même manière, seules les commandes sont exécutées non pas par le processeur, mais par un interpréteur, par exemple, dans les scripts bash - par le shell bash lui-même. Les programmes réguliers ont également leur propre chargeur - il s'agit de ld-linux.so.2.

Comment rendre un fichier exécutable

Le système Linux dispose d'un utilitaire spécial permettant de gérer les drapeaux, appelé chmod. Pour appeler cet utilitaire, vous devez invoquer la syntaxe :

$ chmod category action flag file_address

КАК СДЕЛАТЬ ФАЙЛ ИСПОЛНЯЕМЫМ В LINUX

Il faut alors tenir compte de ce qui suit :

Drapeau - l'un des drapeaux disponibles - r (lecture), w (écriture), x (exécution).

Catégorie - peut être définie pour trois catégories : le propriétaire du fichier, le groupe de données et tous les autres utilisateurs. Dans la commande, elles sont indiquées respectivement par u (utilisateur), g (groupe) et o (autre).

Action - peut être + (plus), ce qui signifie que l'indicateur est activé, ou - (moins), ce qui signifie que l'indicateur est désactivé.

Ainsi, pour qu'un script soit exécutable sous Linux, l'utilisateur doit l'exécuter :

$ chmod u+x file_address

Souvent, cela suffit déjà à le rendre exécutable, mais si d'autres utilisateurs doivent être autorisés à exécuter ces fichiers, il faut en ajouter d'autres :

$ chmod ugo+x file_address

Pour les voir dans le terminal, il suffit d'utiliser l'utilitaire ls :

$ ls -l file_directory

Посмотреть флаги в терминале можно с помощью утилиты ls

Des drapeaux sont inclus pour toutes les catégories. Les premiers rwx sont des drapeaux de propriétaire, les seconds sont des drapeaux de groupe et les troisièmes sont pour tous les autres. S'il n'est pas défini, un tiret le remplace.

Il est très facile de désactiver le drapeau exécutable. La même commande est utilisée, mais avec le signe moins :

$ chmod u-x file_address

Examinons maintenant la question de la configuration de la gérabilité dans l'interface graphique.

Comment définir l'indicateur exécutable dans l'interface graphique ?

Pour les débutants, cette instruction sera plus facile. Prenons l'exemple du gestionnaire GNOME, Nautilus. Cliquez avec le bouton droit de la souris sur notre programme ou notre objet script pour ouvrir le menu contextuel, puis sélectionnez Propriétés :

КАК УСТАНОВИТЬ ФАЛГ ИСПОЛНЯЕМОСТИ В GUI

Allez dans l'onglet permissions et cochez "Autoriser le fichier à s'exécuter en tant que programme" :

Разрешить выполнение файла как программы:

Il sera alors lancé par le système directement depuis le gestionnaire. C'est là toute l'instruction. Désormais, vous n'aurez plus aucune difficulté à lancer un programme ou un script à partir d'Internet.