Блог вечного странника

Серверная магия 777: О правах доступа.

26 апреля 2011, 23:07

Серверная магия 777: О правах доступа.

Всякий бегиннер, как и (до недавнего времени) ваш покорный слуга, впервые столкнувшись с необходимостью установки на хост какого-нибудь хитромудреного скрипта или движка, непременно упирается в непреклонные требования установить файлам и папкам какие-то там права.

И хорошо еще, если ваш хостер отличается редкой в Раше адекватностью, и в настройках своих серверов хранит по дефолту те самые права, которые предписаны сопровождающим скрипт мануалом. Однако ж, порой, бывает все значительно грустнее, и в таком случае несчастному бегиннеру без понимания сути этих загадочных циферек - вообще труба. Ибо не зная, что за этими магическими циферками кроется - тупо не знаешь, чего нужно саппорту хостера объяснять и какие вопросы спрашивать.

В целях небольшого ликбеза и затеян данный пост.

В действительности права доступа к файлам и папкам совершенно необходимы - они определяют, чего такого можно или нельзя сделать с тем или иным файликом.

В попсовой Винде подобной защиты почему-то не существует (а потому любой троян и вирус может свободно увечить содержимое вашего компа как ему в голову взбредёт), а вот Unix`овых операционках, изначально разработанных как серверные приложения, разработчики предусмотрели три базовых варианта действий, кои обозначаются в свойствах файла или папки циферкой или буковкой:

4 [r]ead - право на чтение.
2 [w]rite - право на запись.
1 [e]xecute - право на выполнение.

Три базовых варианта далее могут комбинироваться между собой:

3 (2+1) [w+e] - разрешены запись и выполнение.
5 (4+1) [r+e] - разрешены чтение и выполнение.
6 (4+2) [r+w] - разрешены чтение и запись.
7 (4+2+1) [r+w+e] - есть право чтения, записи и выполнения.

Соответственно, полный набор вариантов выглядит (по убыванию прав доступа) так:

7 [rwe] - чтение, запись, выполнение.
6 [rw-] - чтение и запись.
5 [r-e] - чтение и выполнение.
4 [r--] - чтение.
3 [-we] - запись и выполнение.
2 [-w-] - запись.
1 [--e] - выполнение.
0 [---] - вообще нет доступа.

Однако, поглядев на структуру своего сервера в FTP, вы увидите права доступа не из одной, а из трёх цифр, самая первая из которых либо равна, либо больше двух последующих. Такое ощущение, что это как бы разные права доступа для разных случаев.

Так оно и есть.

Юниксоподобные системы различают три уровня иерархии пользователей:

[u]ser - непосредственно владелец файла.
[g]roup - член той же группы, к которой принадлежит владелец файла.
[w]orld - все остальные, или [o]ther.

Когда вы входите в FTP по логину и паролю то FTP сервер понимает, что хозяин пришёл. Ясное дело, он относится к уровню user. Другие пользователи, подключаясь по FTP (если им это разрешено, естественно), будут отнесены к уровню group. А вот попавшие к вам на сайт через браузер относятся к младшей группе - world.

Три цифры в правах доступа к файлам и папкам проистекают как раз из существования такой иерархии пользователей, и символизируют собой простую запись в ряд прав доступа для каждой группы. Кто не понимает цифровые обозначения, может переключить своего FTP клиента в режим отображения прав доступа буковками.

Вебмастеру нет нужды знать и помнить все варианты прав доступа, и ориентироваться в группах. Фактически он оперирует своем в FTP клиенте только группами user и world (а group обычно имеет те же права, что и world), и, как правило, лишь вот такими вариантами:

Для папок:

777 - в папке могут исполняться скрипты, разрешены чтение и запись файлов.
755 - скрипты исполняются, файлы читаются, но запись запрещена.

Для файлов:

666 - чтение и запись в файл скриптом разрешены.
644 - файл может быть только прочитан скриптом или просмотрен браузером.

Причем понимайте правильно, что когда мы говорим о действиях скрипта, имеется ввиду, что запущен этот скрипт будет юзером группы world (серфер обращается браузером к движку сайта), а тот при работе с файлами и папками руководствуется правами доступа именно для этой группы. И силу здесь имеет самая последняя циферка прав доступа, а не первая.

Не лишним будет добавить, что вся эта концепция относится именно к стандартным правам доступа для юниксоподобных систем. Они должны быть именно такими, без вариантов.
Если же у хостера, по малообъяснимым причинам, права доступа с какими-то прибабахами, (к примеру, на папки права 777 вообще запрещены, а 755 имеют силу прав 777, то, как понимаете, классической интерпретацией концепции прав доступа, рассмотренной выше, тут и не пахнет.
И если ваш скрипт или движек категоричекси отказывается работать на таком хосте, то ответ держать именно хостеру (пинайте саппорт), а не авторам скриптов.

Другие статьи категории «Про SEO»

Золотой ключик. Продолжение..

Золотой ключик. Продолжение.. Итак, продолжаем нашу SEO-байку о правильном подборе ключевых запросов. или, как говорят умные дядьки - составлении семантического ядра сайта.

Золотой Ключик. SEO-повесть с продолжением.

Золотой Ключик. SEO-повесть с продолжением. Хоть я и обещал на страницах данного блога не учить людей жизни и не строить из себя мега гуру, коим в действительности и не являюсь, но некоторые моменты хочется все же осветить.
29 апреля 2011, 15:03

№ 1Без темы

Привет, Икар!
Хорошие посты, спс!
Про Кейколлектор когда напишешь, как формулами (kei) пользоваться то...
Про кейколлектор решил не писать, ибо шибко много надо тыкать кнопок - боюсь пальцы сотру под корень... Взамен этого -записываю видеоурок - надеюсь оно будет и интереснее и полноценнее.

По некоторым, чисто бытовым проблемам раньше 5-10 мая закончить не получится. Но как доделаю -сразу выложу в блог.. :)
Leo K
30 апреля 2011, 02:22

№ 2Без темы

Ага, спасибо! (И за скрипт тоже кстати...
В кейколлекторе бы теперь более менее разобраться, усложняют с каждым днем эту программу и непонятно, что важно а на что можно не обращать внимания...не говорю уже про формулы
насчет формул KEI - среди оптимизаторов достаточно разрозненные мнения о способах и, вообще, необходимости их использования.
Лично я их не использую при анализе.
Leo K
30 апреля 2011, 23:15

№ 3Без темы

Значит, можно обойтись и без использования формул, это уже хорошо...А вот скажем, после того как программа напарсила нам значений эдак под тысячу, для предварительной зачистки мы нажимаем "Уточнить запросы"? Нам ведь нужны точные значения, которые в кавычках плюс кавычки и восклицательный знак...и под конец, когда уже запросы-пустышки отфильтрованы, собираем данные про заголовки, число главных страниц, общее число документов в поисковике плюс данные по агрегаторам. Исходя из этих данных отбираем СЧ запросы (но, главное, чтоб НК были). Я в правильном направлении иду или по-другому это все проделывается?
да, насколько я понял, читая различные авторитетные оптимизаторские блоги (в том числе и блог самого А. Люстика - разработчика Коллектора) - многие и не пользуются этими Кеями. В остальном алгоритм верный.
Я фильтрую только по списку "!", плюс расширяю список запросов определенным образом (подробнее в видеоуроках).

Но в целом, как говорил вождь русской революции "Верной дорогой идете товарищи!!!" :)
Leo K
01 мая 2011, 16:44

№ 4Без темы

Спасибо за консультацию! интересно было бы увидеть видеоурок про это, ждемс тогда :)
Leo K
Комментарии к этой заметке больше не принимаются.
Все заметки категории «Про SEO»