GNU/Linux >> Tutoriels Linux >  >> Linux

Un script peut-il être exécutable mais pas lisible ?

Est-il possible d'exécuter un script s'il n'y a pas la permission de le lire ? En mode root, j'ai créé un script et je souhaite que l'autre utilisateur exécute ce script mais ne le lise pas. J'ai fait chmod pour interdire la lecture et l'écriture mais autoriser l'exécution, cependant en mode utilisateur, j'ai vu le message qui dit :autorisation refusée.

Réponse acceptée :

Le problème est que le script n'est pas ce qui s'exécute, mais l'interpréteur (bash , perl , python , etc.). Et l'interprète doit lire le script. Ceci est différent d'un programme "normal", comme ls , en ce sens que le programme est chargé directement dans le noyau, comme le ferait l'interpréteur. Puisque le noyau lui-même lit le fichier programme, il n'a pas à se soucier de l'accès en lecture. L'interpréteur doit lire le fichier de script, car un fichier normal devrait être lu.


Linux
  1. Trouver des fichiers qu'un utilisateur ne peut pas lire ?

  2. Pourquoi ce "pendant la lecture" fonctionne-t-il dans un terminal, mais pas dans un script shell ?

  3. Lire ligne par ligne dans le script bash

  4. Exécutez le script avec rc.local :le script fonctionne, mais pas au démarrage

  5. N'importe quel moyen de quitter le script bash, mais sans quitter le terminal

read(2) peut-il renvoyer zéro lorsqu'il n'est pas à EOF ?

Comment puis-je vérifier si PostgreSQL est installé ou non via un script Linux ?

Commande Conda fonctionnant dans l'invite de commande mais pas dans le script bash

Peut ping/ssh via LAN mais pas avec Wi-Fi

Un fichier .sh peut-il être un malware ?

shebang ou pas shebang