По сути это означает, что вы можете указать операционной системе запустить код в файле. Например, если файл был двоичным исполняемым файлом, доступ на запись позволил бы вам изменить его, доступ на чтение позволил бы вам просмотреть его, но без разрешений на выполнение вы не сможете запустить программу. В случае сценария это немного сложнее, поскольку вам не обязательно «запускать» программу, вы можете просто прочитать ее содержимое в интерпретаторе, который сам по себе имеет привилегию выполнения, но вам не нужно выполнять команду разрешения на сам скрипт.
Некоторые скрипты в Linux сами по себе исполняемые, вы часто будете видеть строку вверху, как
#! / bin / bash или
#! / Bin / питон
Эта строка сообщает ядру, что файл можно запустить, вызвав соответствующую программу (а не просто текст). Тогда вы можете просто запустить свой скрипт как
./script
вместо того, чтобы делать
Python ./script
.png
или.avi
?#!/bin/bash
в начале вашего.avi
файла, он будет выполнен как bash. Если это настоящий формат avi, вы, вероятно, не сможете его запустить, потому что интерпретировать его как команды не имеет смысла и не удастся.#!
ли интерпретируется ядром?«execute» позволяет пользователю выполнять исполняемые файлы. Для каталогов это разрешение на вход в каталог с помощью команды cd.
источник
В практических целях разрешение на чтение подразумевает способность выполнять.
Однако обратное неверно; есть некоторая ценность в способности давать разрешение на выполнение кода без разрешения на его чтение.
источник
Это для запуска приложений из графического интерфейса или командной строки. Для «нормального» использования php (через веб-сервер) это ничего не меняет. Точнее говоря, это зависит от конфигурации, но в большинстве случаев вам не нужно разрешение + x, чтобы разрешить загрузку вашей веб-страницы php через браузер.
Для запуска из командной строки вам необходимо:
#!/usr/bin/php
в начале скрипта/etc/xdg/foo
или/home/fred/bar
или относительный каталог, напримерdir1/prog1
или./prog2
.источник