Себе на заметку.

Вуду вебмастера.

Если Вы не вебмастер, то Вам это не интересно. О чём сразу же в порыве гуманности и предупреждаю. Причём на полном серьёзе- неподготовленного человека от всей нижеследующей заумности просто вывернет на клавиатуру. И это нормальная защитная реакция здорового организма.


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


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


Я не буду уничижать себя рассказами про то, кто такие права доступа. Зачем они нужны, нафиг сдались, и как связаны с решаемыми задачами. Не буду также называть всякие циферки, и, лукаво щурясь, втюхивать прописные истины, что случится, если поменять во втором разряде шестёрку на четвёрку. А уж о том, как циферки соответствуют всяким там rwx, вообще молчать стану, как нетленный Герасим в обнимку с Муму. Ибо информацию в до предела наглядном виде можете почерпнуть вот из этого этого документа:


Стоящие перед нами задачи проще- нам надо сделать так, чтобы Ваши РНР скрипты работали. Эти задачи мне приходится решать по десять раз на дню, и сиё настолько надоело, что меня начнёт сейчас эманировать.


Итак, сложность Вуду вебмастеринга состоит не столько в понимании смысла прав доступа, чему Вас обучит мануал и демонстратор из волшебного архивчика, и даже не в уяснении, насколько эти правила применимы на Вашем хостинге. Путём экспириенса это вполне постижимо. Насколько понимаю, люди путаются в другом.


Например.


Есть у Вас директория, в которой РНР скрипт пишет какой-нибудь лог. Совместно с хостером Вы выяснили, что права доступа на папочку нужно поставить 777, дабы ведение лога было в принципе возможно. И Вы наблюдаете по ФТП, что лог скриптом благополучно создается, и права на него встали автоматом как 644.


Но вот Вам восхотелось что-то в логе поправить. Вы дергаете этот файл по ФТП, открываете Блокнотом, режете-кромсаете. Апосля чего мечтаете вернуть файл обратно. Пытаетесь качнуть по ФТП на сервер, переписав файлик, и… Упс.


Сервер презрительно посылает Вас куда подальше. Презренные слова, будучи переведёнными на русский, гласят: у вас нет права этот файлик перезаписать. Потому что овнер (владелец) файла лога апач, а вовсе и не юзер. Про это напрямую не говорится, но подразумевается.


Ладно. Что делает вебмастер в таких ситуациях? Ничтоже сумняшеся, он убивает файл на сервере, и вкачивает ему замену. До чего, кстати, ещё надо додуматься. На это сервер согласный, и всё вроде бы хорошо. Права файлик получил такие же, 644. Да только скрипт ни черта после этого не хочет работать, общаться с логом и писать в него, матерясь посредством парсера на кривые пермишены. Причём мат-перемат еще необходимо увидеть (ибо тому препятствуют операторы гашения ошибок- Путин как-то рассказывал про процесс замачивания в сортире, тут всё аналогично) и верно интерпретировать (а понимать собачий язык парсера не всем дано).


Не у каждого вебмастера хватит соображалки постичь, в чём прикол. Вроде бы формально ничего не поменялось, так? Но на то оно и вуду, чтобы кровь портить. Ведь, убив лог и заменив его своим, Вы тем самым сменили файлу овнера с апача на себя, любимого. И теперь это Ваш файл. Что менее круто по сравнению с исходным вариантом, а потому обиженному апачу надо выплатить контрибуцию.


Сатисфакция же дается путём простановки логу прав 666. Это важный момент, ибо человек должен понять, почему иногда достаточно прав на базу 644, а в другой раз этого совершенно недостаточно, и нужны права 666. Ни одно руководство по вуду не раскрывает столь интимных моментов относительно иерархии овнеров в лице юзера и апача. Юзер криком исходит- "я сделал всё так, как было, а оно меня дрючит". А про овнера-то мужики и не знают…


Отсюда можно заключить, что любые файлы данных (не исполняемые!), которые Вы планируете модифицировать скриптом и ручками, обязаны нести на себе бремя пермишенов (чмодов, прав доступа) как 666. Если Вы не можете выставить файлу такие права, значит, овнер у него апач, и сей файл поживёт пока и с правами 644. Но уж если Вы его потерзали- ставьте 666 не задумываясь.


В остальном рекомендациям хостера можно внимать, плохого он не посоветует. Правда, хостер обыкновенно пугается прав доступа на папки в виде 777, но рекомендованное им значение 755 обычно делает скрипты неработоспособными, так что в этом плане слушать хостера, раскрыв рот и затаив дыхание, явно не стоит.


Не так страшно, верно? Клавиатура ведь почти не пострадала? Ну и чудненько.