Grundsätzlich können Sie das Betriebssystem anweisen, den Code in der Datei auszuführen. Wenn es sich bei der Datei beispielsweise um eine ausführbare Binärdatei handelt, können Sie sie durch Schreibzugriff ändern und durch Lesezugriff anzeigen. Ohne Ausführungsberechtigungen können Sie das Programm jedoch nicht ausführen. Im Fall eines Skripts ist dies etwas komplizierter, da Sie das Programm nicht unbedingt ausführen müssen. Sie können den Inhalt einfach in einen Interpreter einlesen, der selbst über die Ausführungsberechtigung verfügt, aber keine Ausführung benötigt Berechtigungen für das Skript selbst.
Einige Skripte in Linux sind selbst ausführbar, Sie sehen oft eine Zeile oben wie
#! / bin / bash oder
#! / bin / python
Diese Zeile teilt dem Kernel mit, dass die Datei ausgeführt werden kann, indem das entsprechende Programm aufgerufen wird (und nicht nur Text). Dann können Sie einfach Ihr Skript ausführen
./Skript
statt tun zu müssen
Python ./script
.png
oder.avi
?#!/bin/bash
am Anfang Ihrer.avi
Datei haben, wird es als Bash ausgeführt. Wenn es sich um ein echtes AVI-Format handelt, können Sie es wahrscheinlich nicht ausführen, da die Interpretation als Befehle keinen Sinn ergibt und fehlschlägt.#!
wirklich vom Kernel interpretiert?"execute" ermöglicht es dem Benutzer, ausführbare Dateien auszuführen. Für Verzeichnisse ist es zulässig, das Verzeichnis mit dem Befehl cd einzugeben.
quelle
Für praktische Zwecke bedeutet die Berechtigung zum Lesen die Fähigkeit zur Ausführung.
Das Gegenteil ist jedoch nicht der Fall; Die Möglichkeit, die Berechtigung zum Ausführen von Code zu erteilen, ohne die Berechtigung zum Lesen zu erteilen, hat einen gewissen Wert.
quelle
Es ist für das Ausführen von Apps über die GUI oder die Befehlszeile. Für "normale" PHP-Nutzung (über Webserver) ändert das nichts. Genau genommen hängt es von der Konfiguration ab, aber in den meisten Fällen benötigen Sie keine + x-Berechtigung, um Ihre PHP-Webseite über einen Browser laden zu können.
Zum Ausführen von der Kommandozeile benötigen Sie:
#!/usr/bin/php
am Skriptanfang hinzu/etc/xdg/foo
oder/home/fred/bar
oder ein relatives Verzeichnis wiedir1/prog1
oder sein./prog2
.quelle