Відповіді:
В основному це означає, що ви можете сказати операційній системі запустити код у файлі. Наприклад, якби файл був двійковим виконуваним файлом, доступ до запису дозволив би змінити його, доступ до читання дозволив би переглядати його, але без дозволів на виконання ви не змогли б запустити програму. Що стосується сценарію, то це трохи складніше, тому що не обов'язково «запускати» програму, ви можете просто прочитати її вміст в інтерпретаторі, який сам має привілей для виконання, але виконувати його не потрібно. дозволи на сам сценарій.
Деякі сценарії в Linux самі виконуються, ви часто бачите рядок, як вгорі
#! / bin / bash або
#! / бін / пітон
Цей рядок вказує ядру, що файл можна виконати за допомогою виклику відповідної програми (а це не лише текст). Тоді ви можете просто запустити свій сценарій, як
./скрипт
замість того, щоб робити
python ./script
#!/bin/bash
на початку вашого .avi
файлу, він буде виконуватися як bash. Якщо це справжній формат avi, ви, ймовірно, не зможете запустити його, оскільки інтерпретувати його як команди не буде сенсом і не вдаватиметься.
#!
справді трактується ядро?
"Execute" дозволяє користувачеві виконувати виконавчі файли. Для каталогів це дозволить ввести каталог за допомогою команди cd.
У практичних цілях дозвіл на читання передбачає можливість виконання.
Однак навпаки не вірно; є певна цінність у можливості надати дозвіл на виконання коду без надання дозволу на його читання.
Це для запуску програм із графічного інтерфейсу чи командного рядка. Для "звичайного" використання php (через веб-сервер) це нічого не змінює. Точно кажучи, це залежить від конфігурації, але в більшості випадків вам не потрібен + x дозвіл, щоб дозволити завантаження веб-сторінки php через браузер.
Для запуску з командного рядка вам потрібно:
#!/usr/bin/php
на початку сценарію/etc/xdg/foo
або /home/fred/bar
, або відносна директорія, як dir1/prog1
або ./prog2
.
.png
або.avi
?