Главная страница
Библиотека (скачать книги)
Скачать софт
Введение в программирование
Стандарты для C++
Уроки по C#
Уроки по Python
HTML
Веб-дизайн
Ассемблер в среде Windows
ActiveX
Javascript
Общее о Линукс
Линукс - подробно
Линукс - новое
Delphi
Паскаль для начинающих
Турбопаскаль
Новости
Партнеры
Наши предложения
Архив новостей





Урок 18. Права доступа для файлов

Реклама на сайте — это очень печально для посетителей. Многие люди заходят в интернет по модему, используя драконовские тарифы, платят за каждый килобайт, а это значит, что они совсем не хотят тратить лишние деньги. Особенно мучительной и неприятной становится реклама на страницах 404 (о них чуть ниже). Избежать рекламы, использовать нужные программные модули и доменные имена второго уровня можно, только арендуя платный хостинг. Для профессиональной работы нужны вложения.

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

Обычно такие меню включают следующие возможности:
1. Возможность смены тарифа
2. Регистрация домена
3. Заказ дополнительных возможностей
4. Управление почтой
5. Файл-менеджер
6. Управление базами данных
7. Работа с субдоменами
8. Статистика
9. Работа с логами ошибок
10. Работа с планировщиком

 

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

Особая возможность доступа по FTP — это возможность менять права доступа к файлам и директориям в режиме реального времени. В операционной системе Windows браузер Internet Explorer позволяет открывать сайт по протоколу FTP как обычные директории, после чего вы можете щелкнуть по имени файла или директории правой кнопкой мыши для появления контекстного меню, выбрать строку «Свойства», а в открывшемся диалоговом окне проставить нужные права доступа.

Права доступа к файлам и директориям — понятие, пришедшее из операционных систем формата Unix, то есть в первую очередь Linux — потому что на разных сборках именно этой системы основываются популярные хостинг-площадки. Права доступа позволяют операционной системе определить, как обрабатывать запросы на доступ к этим файлам.

 

Существует три типа прав доступа:
1. Read (чтение), сокращенное обозначение — r; файлы с доступом для чтения могут отображаться для пользователя.
2. Write (запись), сокращенное обозначение — w; файлы с доступом для записи могут быть модифицированы пользователем.
3. Execute (исполнение), сокращенное обозначение — x; файлы с доступом для исполнения могут исполняться пользователем как программы.

 

Эти типы доступа к файлам и директориям настраиваются для трех типов пользователей:
1. User (пользователь) — владелец файла.
2. Group (группа) — другие файлы, которые находятся в той же директории или группе.
3. World (все) — все остальные.

 

Веб-серверу необходимо читать веб-страницы, чтобы иметь возможность отображать их в браузере. Должны быть настроены следующие права.
Файлы HTML (а также файлы, включающие HTML-код) и изображения должны быть доступны для чтения. Настройкой для этого служит 644 (доступ для чтения Пользователю, Группе и Всем; файл может редактироваться Пользователем). Эта настройка устанавливается автоматически в момент загрузки файлов на сервер.

 

Все файлы могут быть доступны другим для исполнения. Настройкой для этого служит 755 (доступ для чтения Пользователю, Группе и Всем, доступ для редактирования Пользователю, доступы для исполнения Пользователю, Группе и Всем). Эта настройка устанавливается автоматически, на момент создания папки.

Все файлы CGI (все файлы в папке cgi-bin) должны быть доступны другим для исполнения. Настройкой для этого служит 755 (доступ для чтения Пользователю, Группе и Всем, доступ для редактирования Пользователю, доступ для исполнения Пользователю, Группе и Всем). Эта настройка не устанавливается автоматически на момент закачки файлов: необходимо изменить права доступа к файлам вручную.

 

Таким образом, первая цифра отображает права доступа пользователя, вторая — группы, третья — всех остальных (имеются в виду посетители сайта). Чтение кодируется числом 4, запись — 2, а исполнение — числом 1. Если сложить эти числа, получится право доступа для определенного типа пользователей. Например, в числе 644 видно, что группе и всем остальным предоставляются только права на чтение файла (4), тогда как владельцу файла — права на чтение и запись (4+2=6).

 

Та же информация часто бывает представлена в виде буквенных кодов, имеющих в основе обозначения: r (чтение, 4), w (запись, 2), x (исполнение, 1). Отсутствие прав обозначается дефисом. Права доступа устанавливаются или отображаются девятисимвольным кодом: первые три символа обозначают права для владельца, с 4-го по 6-й символы — для группы, а 7-й, 8-й и 9-й символы — права для всех остальных. Полные права для кого-либо из них, например, обозначаются как rwx, а права только на чтение — как r--.
Буквенный аналог обозначения прав доступа 644 — rw-r--r--.
Буквенный аналог 755 — rwxr-xr-x (такие права на директорию часто устанавливаются по умолчанию при создании новой директории). Если cgi-программа работает с файлами данных (записывает в них что-либо), то вполне достаточно поставить на эти файла права доступ 600 (rw).

 

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

 

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

При использовании базы данных необходимо настроить работу с ней и с помощью собственных сценариев или средств наподобие phpMyAdmin или phpPgAdmin создать нужные таблицы и поля в них.

 

После этого начинается этап тестирования.

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

Во-вторых, должны отображаться все изображения: пути к ним должны быть правильно прописаны, все изображения должны присутствовать на сервере (при пакетной загрузке иногда можно «потерять» часть изображений). То же самое стоит сказать и обо всех остальных связанных файлах: активных сценариях, стилевых таблицах, флэш-роликах, аудиофайлах.

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

В-четвертых, информация в БД должны читаться и записываться без сбоев. Имитируйте ситуации со сбоем (поменяйте пароль или имя таблицы на время), протестируйте все аварийные варианты и отследите, как много информации при этом теряет пользователь и какие ему выдаются предупреждения.
Если все работает без сбоев, можно торжественно объявлять об открытии сайта.

 



     
 

Библиотека программиста. 2009.
Администратор: admin@programmer-lib.ru