Серверная магия 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»
№ 1Без темы
№ 2Без темы
В кейколлекторе бы теперь более менее разобраться, усложняют с каждым днем эту программу и непонятно, что важно а на что можно не обращать внимания...не говорю уже про формулы
Лично я их не использую при анализе.
№ 3Без темы
Я фильтрую только по списку "!", плюс расширяю список запросов определенным образом (подробнее в видеоуроках).
Но в целом, как говорил вождь русской революции "Верной дорогой идете товарищи!!!" :)
Хорошие посты, спс!
Про Кейколлектор когда напишешь, как формулами (kei) пользоваться то...
По некоторым, чисто бытовым проблемам раньше 5-10 мая закончить не получится. Но как доделаю -сразу выложу в блог.. :)