Zasadniczo oznacza to, że możesz powiedzieć systemowi operacyjnemu, aby uruchomił kod w pliku. Na przykład, jeśli plik był wykonywalnym plikiem binarnym, dostęp do zapisu pozwoliłby na jego modyfikację, dostęp do odczytu pozwoliłby na jego przeglądanie, ale bez uprawnień do wykonywania nie można uruchomić programu. W przypadku skryptu jest to trochę bardziej skomplikowane, ponieważ niekoniecznie musisz „uruchomić” program, możesz po prostu odczytać jego zawartość do interpretera, który sam ma execute privelige, ale nie musisz wykonywać uprawnienia do samego skryptu.
Niektóre skrypty w Linuksie są same w sobie wykonywalne, często u góry widać linię
#! / bin / bash
lub
#! / bin / python
Ta linia mówi jądru, że plik może zostać wykonany przez wywołanie odpowiedniego programu (a nie tylko tekstu). Wtedy możesz po prostu uruchomić swój skrypt
./scenariusz
zamiast robić
python ./script
.png
lub.avi
?#!/bin/bash
na początku twojego.avi
plik zostanie wykonany jako bash. Jeśli jest to prawdziwy format avi, prawdopodobnie nie będziesz w stanie go uruchomić, ponieważ interpretowanie go jako poleceń nie będzie miało sensu i zawiedzie.#!
naprawdę interpretowane przez jądro?„execute” umożliwia użytkownikowi wykonywanie plików wykonywalnych. W przypadku katalogów dopuszcza się wejście do katalogu za pomocą polecenia cd.
źródło
Służy do uruchamiania aplikacji z GUI lub linii poleceń. Dla „normalnego” użycia php (przez serwer WWW) nic to nie zmienia. Dokładnie mówiąc, zależy to od konfiguracji, ale w większości przypadków nie potrzebujesz + x pozwolenia na załadowanie strony php za pomocą przeglądarki.
Do uruchamiania z linii poleceń potrzebujesz:
#!/usr/bin/php
na początku skryptu/etc/xdg/foo
lub/home/fred/bar
, lub katalog względny, jakdir1/prog1
lub./prog2
.źródło
Ze względów praktycznych uprawnienie do czytania oznacza możliwość wykonania.
Jednak przeciwieństwo nie jest prawdą; istnieje pewna wartość w możliwości udzielenia pozwolenia na wykonanie kodu bez zezwolenia na jego odczytanie.
źródło