Права на каталоги и файлы.

Ваш сайт будет размещаться на unix-хостинге. Файлы, расположенные на unix-хостинге имеют свои особенности. Каждый файл помимо названия, полного пути, времени создания и т.д. обладает набором аттрибутов, определяющих права доступа для любого пользователя. Все пользователи сервера деляться относительно файла на три категории: Все права на файлы также деляться на три категории: Для каждой категории пользователей (владельца, группы, остальных) определяются свои права (на чтение, на запись, на исполнение) - всего получается девять позиций, принимающих значение "есть"/"нет". Как правило, права на доступ к файлу обозначаются девятью символами - три повторяющиеся тройки символов rwx, каждый из символов обозначает присутствие соответствующего права доступа и может быть заменен на "-" если соответствующее право отсутствует. Первая тройка соответствует правам владельца файла, вторая - правам пользователей из той же группы, к которой принадлежит файл, третья - правам для всех остальных. Например, предположим, что для файла myfile имеются следующие права доступа: для владельца - чтение, запись, исполнение (rwx) для группы - чтение, исполнение (r-x) для всех остальных - только чтение (r--) Тогда права доступа к файлу будут описываться следующей последовательностью символов: rwxr-xr-- Иногда для краткости используют "числовую" форму описания прав доступа - трехзначное число, каждая цифра которого соответствует тройке прав для соответствующей категории пользователей: первая - владельцу, вторая - группе, третья - остальным. Сама цифра образуется суммой чисел, приписываемых каждой категории прав доступа: 1 - исполнение, 2 - запись, 4 - чтение. Таким образом 'rwx' соответствуют 7, 'rw-' - 6, 'r-x' - 5, 'r--' - 4, '-w-' - 2, '--x' - 1, '---' - 0. Например, предположим, что для файла myfile имеются следующие права доступа: для владельца - чтение, запись (rw-) для группы - чтение (r--) для всех остальных - ничего (---) В символьной форме такие права доступа будут описываться как rw-r-----, а в числовой форме они выглядят так: 640. Иногда числовая форма описания прав доступа к файлу включает в себя четыре цифры - в этом случае первая цифра не относится к правам доступа, как таковым (а определяет поведение файла во время исполнения, так что здесь мы этого касаться не будем) и учитывать надо последние три цифры.

Права доступа к каталогам

Каталог для Unix - одна из разновидностей файла. Соответственно все, что было сказано выше о правах доступа к файлам, относиться и к каталогам. Правда понятия "прочитать", "записать" и "исполнить" в отношении каталога имеют свою специфику: "Чтение" подразумевает получение списка файлов, принадлежащих каталогу - важно помнить, что это не блокирует доступ к самим файлам, лежащим в этом каталоге.
"Запись" подразумевает изменение списка файлов, принадлежащих каталогу - чтобы создать файл в каком-либо каталоге, надо быть пользователем, который имеет право записи в этот каталог, чтобы удалить файл, надо иметь не право записи в удаляемый файл (это позволяет только удалить или перезаписать информацию в самом файле), а право записи в каталог, которому файл принадлежит
"Исполнение" - подразумевает принципиальную возможность доступа к любому файлу, принадлежащему данному каталогу или его подкаталогам. Даже если права доступа к файлу, находящемуся в каталоге и позволяют какие-либо операции с ним, отсутствие права на "исполнение" этого каталога не позволит ничего с этим файлом сделать.

Установка прав на каталоги Вашего сайта, html-файлы и файлы CGI-скриптов

Для файлов, не являющихся cgi-программами - таких как .html, .shtml или .php, - права доступа могут быть установлены в 644 (-rw-r--r--) (запись-чтение для владельца и только чтение для всех остальных).
Для файлов, являющихся cgi-программами (perl-скрипты, скомпилированные C-программы и пр. - php-скрипты к ним НЕ относятся), права доступа должны быть установлены в 744 (rwxr--r--) (исполнение-запись-чтение для владельца и чтение для всех остальных). Нельзя разрешать запись в файл с cgi-программой кому-либо, кроме владельца - попытку запустить такую cgi-программу веб-сервер считает ошибкой.
При разработке cgi-программ учитывайте, пожалуйста, что web-сервер запускает их от имени пользователя-владельца сайта. Если Ваша cgi-программа работает с файлами данных (записывает в них что-либо), то эти файлы должны иметь права доступа 600 (rw------). PHP-скрипты запускаются от имени пользователя, не являющегося пользователем-владельцем сайта поэтому для файлов данных, которые используют PHP-скрипты, необходимо установить права 666 (rw-rw-rw-), а если php-скрипт создает в каком-либо каталоге новые файлы, то этот каталог должен иметь права на запись "для всех" - например 777 (rwxrwxrwx).
Права на каталоги мы рекомендуем устанавливать в 755 (rwxr-xr-x). Эти же права устанавливаются по умолчанию при создании нового каталога. Нельзя разрешать запись в каталог с cgi-программой кому-либо, кроме владельца - попытку запустить cgi-программу из такого каталога веб-сервер считает ошибкой.


[Закрыть]