====== Установка прав доступа к файлам и папкам (CHMOD). ====== Важными составляющими каждого форума являются -- администрирование и безопасность. Именно к этим двум разделам можно отнести систему изменения атрибутов доступа к определённым файлам и папкам форума, **CHMOD** (**ch**ange file **mod**e - в переводе: "изменение режима доступа к файлам"). ===== CHMOD. Общие понятия. ===== Права доступа - это атрибуты файла или папки, которые указывают серверу, кто и что может делать с соответствующим файлом или папкой. Большинство серверов работает на базе Unix-систем, поэтому рассмотрим установку прав доступа именно для них. В системах Unix все пользователи разделяются на три группы: "**owner**" (владелец файла), "**group**" (член той же группы, к которой принадлежит владелец файла) и "**public**" (все остальные). Когда вы соединяетесь с сервером, он определяет, к какой группе вы относитесь. Например, подключаясь к серверу по FTP, вы входите под своим именем пользователя, соответственно сервер относит вас к группе "**owner**". Другие пользователи, подключаясь по FTP, будут отнесены к группе "**group**", а когда человек попадает к вам на сайт через свой браузер, то попадает в группу "**public**". После определения группы, пользователь получает права на действия с объектами. В Unix есть только три основных права действия над файлом - читать файл или просматривать каталог (**R**ead); изменять файл или папку, записывать в неё или удалять (**W**rite); запускать файл (e**X**ecute). Исходя из этого, в оборот были введены символы **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 ===== CHMOD. Установка атрибутов. ===== Для установки прав доступа используется команда **CHMOD**. Во всех современных FTP-клиентах присутствует возможность назначения прав доступа путем простановки "галочек" в чекбоксах, либо просто введением цифрового кода в соответствующее поле: {{:faq:chmod_basic.gif|:faq:chmod_basic.gif}} Подобное сочетание 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. Пример команды. ===== Рассмотрим пример задания команды CHMOD через FTP-клиент [[http://www.cuteftp.com/downloads/index.asp|CuteFTP]] для выставления необходимых атрибутов папки /uploads/ форума IPB. Для этого нужно подключиться к серверу, найти корневой каталог с форумом, найти папку /uploads/, нажать правой кнопкой мыши на ней и в появившемся меню выбрать "Properties / CHMOD". {{:faq:ftp_chmod.gif|:faq:ftp_chmod.gif}} Для задания команд вы можете использовать другие программы, позволяющие работать как FTP-клиенты (суть их работы одинакова). Например: * В **Windows Commander** они изменяются через пункты меню «Файл» -> «Изменить атрибуты». При этом изменяются разрешения на выделенный файл (файлы) и/или папки. * В **FAR Manager** разрешения выделенных файлов изменяются нажатием Ctrl+A:\\ [x][x][ ] [x][x][ ] [x][x][ ] - 666 \\ [x][x][x] [x][ ][x] [x][ ][x] - 755 \\ ===== CHMOD на файлы и папки IPB. ===== В заключение приведём пример расстановки атрибутов на файлы и папки форума 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. Успехов!