Доступ и идентификация
По умолчанию сервер Apache предоставляет довольно большую свободу управления доступом. В общем, любой файл или каталог попадает в карту ресурсов сервера и может передаваться клиенту по запросу, если: · он находится в одном из подкаталогов каталога ServerRoot; · в каталоге ServerRoot имеется символьная ссылка на него; · он указан в директиве Alias; · он находится в подкаталоге publc_html в домашнем каталоге пользователя. Несмотря на то что по умолчанию приняты не слишком строгие меры по защите информации, сервер Apache предоставляет возможности точной настройки клиентского доступа и уровней доступа пользователей к информации. Для этого есть два способа. Первый заключается в настройке глобального файла конфигурации доступа к серверу, /usr/local/etc/httpd/conf/access.conf. В этом файле можно задавать политику предоставления доступа для всего сервера в целом. Имеется возможность ограничивать доступ к определенным каталогам на сервере на основе IP-адресов или имен компьютеров клиентов. Можно также защитить каталоги паролями, разрешая доступ к серверу только определенным пользователям или группам пользователей. В отличие от этих централизованных ограничений на доступ к информации и ее использование, второй способ является децентрализованным. Каждый отдельный пользователь, поддерживающий на вашем Web-сервере свой Web-каталог, может управлять доступом клиентов к этому каталогу посредством файла .htaccess. Вдобавок, пользователи могут использовать собственные значения директив, находящихся в файлах srm.conf и access.conf, если разрешить эту возможность в глобальном файле управления доступом. Хотя наличие файла access.conf необходимо для работы сервера Apache, мы едва коснулись его в разделе, посвященном конфигурации сервера. Чтобы воспользоваться возможностями идентификации пользователей и управления доступом, необходимо лучшее понимание формата директив, находящихся в этом файле. В отличие от директив в файлах httpd.conf и srm.conf, директивы в файле access.conf имеют синтаксис, подобный синтаксису языка HTML, в котором отдельные элементы отмечают начало и конец секций. Эти директивы, отмечающие различные области управления доступом, называются директивами секционирования. При рассмотрении мы всегда будем заключать их в угловые скобки (< и >). <Directory> Директива <Directory> указывает каталог, к которому применяется ограничение доступа. Имя каталога должно быть абсолютным; разрешено использование шаблонов. В основном, используется следующий синтаксис: <Directory directory_name> Access control directives </Directory> <Location> В директиве <Location> задается определенный адрес URL, который может обозначать целый каталог, отдельный файл или совокупность файлов,описываемую при помощи шаблонов, например, *.html ≈ все файлы, имена которых оканчиваются символами .html. В адрес URL не включаются название протокола и имя сервера, так, строка <Location http:// www.shoop.org/index.html> не будет являться правильным использованием директивы <Location>. Вот пример правильного синтаксиса директивы <Location>: <Location URL> Access control directives </Location> Эти директивы управления доступом (access control directives) управляют типом доступа, предоставляемого сервером к указанному каталогу и всем расположенным в нем файлам и каталогам. Большинство этих директив используется и в принадлежащих пользователям файлах .htaccess. Указанные в них значения имеют преимущество перед глобальными установками, если такое поведение разрешено в директиве AllowOverride. Allow/Override Эта директива, используемая только в файле access.conf, регулирует отношения между глобальным файлом доступа и пользовательскими файлами .htaccess. В директиве указываются разделенные пробелами опции управления доступом, переопределение которых в файле .htaccess, находящемся в дереве каталогов ниже этого каталога, разрешено. Возможные значения директивы: · None. Сервер игнорирует файлы .htaccess в этом каталоге. Если вы не намерены использовать для каталога файлы .htaccess, вам следует явно установить эту опцию, поскольку это повысит производительность сервера. · Аll. По умолчанию пользователи имеют право переопределять в файлах .htaccess все глобальные установки доступа, для которых в этих файлах имеются эквивалентные команды. · Options. Разрешает использование директивы Options (см. ниже раздел Options) · Filelnfo. Разрешает использование в файлах .htaccess директив AddТуре и AddEncoding · AuthConfig. Разрешает использование директив AuthName, AuthType, AuthUserFile и AuthGroupFile, необходимых для защиты каталогов паролями. · Limit. Разрешает использование директивы секционирования <Limit>. Options Директива Options позволяет управлять тем, какие функции сервера доступны для использования в каталоге, указанном в секции <Directory> или в файле .htaccess. В директиве Options можно использовать следующие аргументы: · None. В указанном каталоге не разрешается использование каких-либо функций. · All. В указанном каталоге разрешается использование всех возможностей (принимается по умолчанию). · FollowSymLinks. Сервер следует символьным ссылкам, имеющимся в указанном каталоге. · SymLinksIfOwnerMatch. Сервер следует символьным ссылкам, только если каталог назначения принадлежит тому же пользователю, что и сама ссылка. · ExecCGI. В указанном каталоге разрешается выполнение сценариев CGI. · Includes. В указанном каталоге разрешено использование серверных включений. Использование серверных включений требует, чтобы сервер производил синтаксический разбор всех HTML-файлов перед отправкой их клиентам. Нечего и говорить, что это крайне нагружает сервер, поэтому мы бы порекомендовали отключить эту опцию. Если вам необходимы серверные включения, разрешите их на уровне отдельных файлов при помощи директивы AddType. · Indexes. Сервер разрешает пользователям заказывать индексную страницу указанного каталога. Выключение этой опции запрещает передачу только списка файлов в каталоге, но не файла index.html. · IncludesNoExec. Эта директива разрешает использование в указанном каталоге серверных включений, но запрещает запуск из них внешних программ. XBitHack Эта опция позволяет задать, будет ли сервер перед отправкой HTML-документа искать в нем какие-либо специальные указания. Такие указания, называемые серверными включениями, позволяют включить в документ другой HTML-документ, выполнить сценарий CGI и включить в страницу его вывод, либо вернуть информацию о странице, например дату ее последнего изменения. Если опция XBitHack включена, вам останется только сделать файл исполняемым, и сервер начнет поиск серверных включений. Сделать файл исполняемым можно при помощи следующей команды UNIX: $ chmod а+х имя_файла где имя_файла нужно заменить именем файла, атрибуты которого вы меняете.
Популярное: Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние... Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе... Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (317)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |