Пожалуй, зайдя на любой форум, посвященный скриптам,
программированию под веб, или на форум хостинга, уже после поверхностного
осмотра без труда обнаруживаются топики с вопросами об установке прав доступа
для скриптов и каталогов в cgi-bin. На самом деле в этом нет ничего сложного, но
все же, чтобы разобраться, необходима посторонняя помощь. Итак, начнем.
Права доступа - это атрибуты файла или каталога, которые
указывают серверу, кто и что может делать с соответствующим файлом или
каталогом. Обычно, права доступа регламентируют такие действия как чтение,
запись в файл (или каталог), исполнение.
Поскольку большинство серверов работает на базе UNIX-систем, поэтому мы
рассмотрим установку прав доступа именно для них. В системах UNIX все
пользователи разделяются на три группы: "user" (непосредственно владелец файла),
"group" (член той же группы, к которой принадлежит владелец файла) и "world"
(все остальные). Когда вы соединяетесь с сервером, он определяет к какой группе
вы относитесь. Например, подключаясь к серверу по FTP, вы входите под своим
именем пользователя, соответственно сервер относит вас к группе "user". Другие
пользователи, подключаясь по FTP, будет отнесены к группе "group", а когда
человек попадает к вам на сайт через свой браузер, то попадает в группу "world".
После определения группы, пользователь получает права на действия с
объектами. Т.е он может прочитать, записать или выполнить файл. Чтобы
просмотреть каталог, он должен быть исполняемым; чтобы просмотреть его
содержимое, он должен иметь атрибут чтения, а чтобы создать новый файл или
каталог в существующем каталоге, необходимо иметь право на запись. Таким
образом, чтобы выполнялось приложение или CGI скрипт, необходимо ставить на
каталог атрибут чтения и выполнения.
А теперь практика...
Итак, мы выяснили, что существует три группы пользователей, и три действия с
объектом. Чтобы распределить права для соответствующих групп, используются
цифровые обозначения:
4 = read (право на чтение)
2 = write (право на
запись)
1 = execute (право на выполнение)
Первая цифра в обозначении
устанавливает права для группы "user"(т.е фактически для вас), вторая для группы
"group" и третья для "world". Простым сложение цифр можно добиться установления
прав на совокупность действий. Например, 3(2+1) разрешает запись и выполнение
файла (каталога); 5(4+1) разрешает чтение и выполнение; 6(4+2) разрешает чтение
и запись; 7(4+2+1) устанавливает право чтения, записи и выполнения. Т.е всего
семь вариантов:
7 = read, write & execute
6 = read & write
5
= read & execute
4 = read
3 = write & execute
2 = write
1 = execute
Для установления прав доступа используется команда CHMOD. Во
всех современных FTP клиентах присутствует возможность назначения прав доступа
путем простановки "галочек" в чекбоксах, либо просто введением цифрового кода в
соответствующее поле.
Несмотря на это, еще никому не помешало знать чуть больше о командах UNIX.
Так вот, команда "chmod" имеет два режима: Абсолютный(цифровой) и Символьный
режим. Команда "chmod", используемая в Unix, или команда "site chmod",
используемая в некоторых FTP менеджерах(напр. FTP Explorer), могут
использоваться в обоих режимах.
При Абсолютном(цифровом) режиме используется описанный выше 3-х цифровой код
прав доступа. Символьный режим использует буквенный формат для установки прав
доступа. Здесь используются буквы "r", "w" и "x" для read, write и execute
соответственно. А также "u", "g", "o" и "a" для user, group, other (world), и
all(все[не используется]) соответственно.
Например: 755 = chmod u=rwx,go=rx filename; 644 = chmod u=rw,go=r filename;
600 = chmod u=rw,go= filename; 444 = chmod a=r filename.
Вот несколько наиболее часто встречающихся сочетаний, верных для большинства
хостингов:
| Права доступа |
Команда(код) |
Описание |
|
U |
G |
W |
|
|
| r w x |
r - x |
r - x |
[site] chmod 755 |
Для директорий, CGI скриптов и других исполняемых
файлов |
| r w - |
r - - |
r - - |
[site] chmod 644 |
Для обычных файлов |
| r w - |
- - - |
- - - |
[site] chmod 600 |
Скрыть файлы от всех кроме вас и ваших
скриптов |
| U = user; G = group; W = world r = Read; w = Write; x = Execute;
- = Нет права |
Ну вот и все, как видите в этом нет ничего сложного! Теперь, я думаю, вы без
труда сможете настроить ваши форумы и гостевые книги без посторонней помощи в
форумах. Удачи!