|
|
|
|
|
|
|
|
|
|
Важными составляющими каждого форума являются – администрирование и безопасность. Именно к этим двум разделам можно отнести систему изменения атрибутов доступа к определённым файлам и папкам форума, CHMOD (change file mode - в переводе: «изменение режима доступа к файлам»).
Права доступа - это атрибуты файла или папки, которые указывают серверу, кто и что может делать с соответствующим файлом или папкой. Большинство серверов работает на базе Unix-систем, поэтому рассмотрим установку прав доступа именно для них.
В системах Unix все пользователи разделяются на три группы: «owner» (владелец файла), «group» (член той же группы, к которой принадлежит владелец файла) и «public» (все остальные). Когда вы соединяетесь с сервером, он определяет, к какой группе вы относитесь. Например, подключаясь к серверу по FTP, вы входите под своим именем пользователя, соответственно сервер относит вас к группе «owner». Другие пользователи, подключаясь по FTP, будут отнесены к группе «group», а когда человек попадает к вам на сайт через свой браузер, то попадает в группу «public».
После определения группы, пользователь получает права на действия с объектами. В Unix есть только три основных права действия над файлом - читать файл или просматривать каталог (Read); изменять файл или папку, записывать в неё или удалять (Write); запускать файл (eXecute). Исходя из этого, в оборот были введены символы r, w и x, означающие, соответственно, read, write и execute. Чтобы распределить права для групп (owner, group, public), используются цифровые обозначения:
4 = read (право на чтение)
2 = write (право на запись)
1 = execute (право на выполнение)
Первая цифра в обозначении устанавливает права для группы «owner», вторая для группы «group» и третья для «public». Простым сложением цифр можно добиться установления прав на совокупность действий. Например, 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
<style box background>Режим CHMOD может обозначаться в абсолютном (цифровом) или символьном формате. Например: 755 - цифровой формат. В символьном формате он будет выглядеть как «rwxrxrx». Запись «rwxrxrx» можно разбить на три части (в соответствии с группами): «rwx» (read, write & execute), «rx» (read & execute) и «rx» (read & execute). Ясно, что если в цифровом формате будет «777», то в символьном - «rwxrwxrwx». Далее расcматривать будем только цифровой формат CHMOD.</style>
Для установки прав доступа используется команда CHMOD. Во всех современных FTP-клиентах присутствует возможность назначения прав доступа путем простановки «галочек» в чекбоксах, либо просто введением цифрового кода в соответствующее поле:
Подобное сочетание CHMOD можно расчетать в виде таблицы:
| Значения | Owner (Владелец) | Group (Группа) | Public (Остальные) |
|---|---|---|---|
| Read = 4 | X | X | X |
| Write = 2 | X | ||
| Execute = 1 | X | X | X |
| Сумма: | (4 + 2 + 1) = 7 | (4 + 1) = 5 | (4 + 1) = 5 |
Рассмотрим пример задания команды CHMOD через FTP-клиент CuteFTP для выставления необходимых атрибутов папки /uploads/ форума IPB. Для этого нужно подключиться к серверу, найти корневой каталог с форумом, найти папку /uploads/, нажать правой кнопкой мыши на ней и в появившемся меню выбрать «Properties / CHMOD».
<style box background>Необходимые атрибуты 777 заданы в цифровом виде для папки /uploads/. В символьном виде они выглядят как «drwxrwxrwx», символ «d» помечает, что это директория (папка).</style>
Для задания команд вы можете использовать другие программы, позволяющие работать как FTP-клиенты (суть их работы одинакова). Например:
[x][x][ ] [x][x][ ] [x][x][ ] - 666
[x][x][x] [x][ ][x] [x][ ][x] - 755
В заключение приведём пример расстановки атрибутов на файлы и папки форума IPB. Следующие папки и файлы должны иметь атрибуты доступа 777.
Для версии 2.1:
/cache/
/cache/lang_cache/
/cache/skin_cache/ + на все папки и файлы внутри неё
/style_emotions/ + на папки наборов смайликов внутри неё
/style_images/
/uploads/
На файл conf_global.php рекомендуется выставить CHMOD 666.
Для версии 2.2 и 2.3:
/cache/
/cache/lang_cache/ + на все папки и файлы внутри неё
/cache/skin_cache/ + на все папки и файлы внутри неё
/uploads/
/style_images/ + на все папки и файлы внутри неё
install/installfiles/
На файл conf_global.php перед установкой выставить права 666, после установке рекомендуется вернуть к стандартным 644.
Для версии 3.0:
./cache
./cache/tmp
./cache/lang_cache
./cache/lang_cache/1
./cache/skin_cache
./public/style_images
./public/style_css
./hooks
./uploads
На файл conf_global.php перед установкой выставить права 666, после установке рекомендуется вернуть к стандартным 644.
Успехов!
Работает на DokuWiki |