Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Хокинс С. - Администрирование Web-сервера Apache и руководст

.pdf
Скачиваний:
90
Добавлен:
13.09.2013
Размер:
4.5 Mб
Скачать

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

Пример

Чтобы задать модуль mod_auth_anon в качестве последней и окончательной инстанции в управле нии доступом, задайте следующую директиву:

Anonymous_Authoritative on

Б.5.3. Директива Anonymous_LogEmail

Синтаксис:

Anonymous_LogEmail on | off

Умолчание

off

Контекст:

каталог, файл .htaccess

Перекрытие:

AuthConfig

Статус:

Extension

Модуль:

mod_auth_anon

Когда эта директива установлена в on, при регистрации анонимного пользователя вводится псевдопароль, зарегистрированный в файле httpd log. По соглашению этот псевдопароль имеет реальный адрес электронной почты.

Пример

Чтобы задать режим задания адреса электронной почты вместо пароля во время процесса анонимной регистрации, необходимо задать команду:

Anonymous_LogEmail on

Б.5.4. Директива Anonymous_MustGiveEmail

Синтаксис:

Anonymous_MustGiveEmail o n | o f f

Умолчание

off

Контекст:

каталог, файл .htaccess

Перекрытие:

AuthConfig

Статус:

Extension

Модуль:

mod_auth_anon

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

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

Anonyraous_MustGiveEmail on

Б.5.5. Директива Anonymous_NoUserID

Синтаксис:

Anonymous_NouserID on | off

Умолчание Anonymous_NouserID

off

Контекст:

каталог, файл .htaccess

Перекрытие:

AuthConfig

 

Статус:

Extension

 

Модуль:

mod_auth_anon

 

212

Часть IV. Приложения

Когда эта директива установлена в on, пользователи могут осуществлять доступ, вводя произвольную информацию в полях для ввода идентификатора пользователя и пароля. Очевидно, что это самая опасная конфигурация.

Чтобы разрешить анонимный доступ пользователю без идентификатора пользователя (в сущности, это равносильно полному отсутствию управления доступом), можно воспользоваться следующей директив

вой:

Anonymous_NoOseirID on

Б.5.6. Директива Anonymous_VerifyEmail

Синтаксис:

Anonymous_VerifyEmail on | off

Умолчание

Anonymous VerifyEmail off

Контекст:

каталог, файл .htaccess

Перекрытие:

AuthConfig

Статус:

Extension

Модуль:

mod_auth_anon

Эта директива несет в себе черты чрезмерной самозначительности. При установке ее в on анонимным пользователем вводится псевдопароль, который должен содержать по крайней мере символы "@" и ".", обычно содержащиеся в настоящем адресе элек тронной почты. К сожалению, это не позволяет избежать ввода адреса наподобие eat@my.shorts и определенной неловкости, которую могут вызвать творчество отдель ных создателей таких паролей.

Чтобы пользователи вводили псевдопароль, содержащий по крайней мере символы "@" и ".", восполь зуйтесь директивой:

Anonymous_VerifyEmail on

Б.6. Модуль mod auth db

Директивы этого модуля обеспечивают процесс идентификации с помощью файла базы данных Беркли.

Б.6.1. Директива AuthDBGroupFile

Синтаксис: AuthDBGroupFile имя файла Контекст: каталог, файл .htaccess Перекрытие: AuthConfig

Статус: Extension Модуль: mod_auth_db

Эта директива задает абсолютный путь к файлу, содержащему список пользовате лей и групп, к которым этипользователи принадлежат. Ключом этого файла является имя пользователя. Запись файла состоит из кода пользователя, за ним следует разде ленный запятыми список групп, к которому этот пользователь относится. Явное ука зание пробела или двоеточия запрещено. Этот файл должен храниться вне файловой иерархии, которую он защищает, и быть недоступным для внешнего мира.

Приложение Б. Прочие директивы

213

Чтобы задать размещение файла группы mod_auth_db в каталоге /var/secure/dbgroup, не обходимо:

AuthDBGroupFile /var/secure/dbgroup

Б.6.2. Директива AuthDBUserFile

Синтаксис:

AuthDBUserFile имя файла

Контекст:

каталог, файл .htaccess

Перекрытие:

AuthConfig

Статус:

Ex tension

Модуль:

mod_auth_db

Эта директива задает абсолютный путь к файлу, содержащему список пользовате лей и паролей, необходимых для их идентификации. Ключом этого файла является имя пользователя, за которым следует зашифрованный с помощью функции crypt () пароль. За этой парой следует двоеточие и далее произвольная информация. Все, что следует за двоеточием, игнорируется. Этот файл должен храниться таким образом, чтобы быть недоступным внешнему миру.

Чтобы задать размещение файла пользователей mod_auth_db в каталоге /var/secure/userdb, необходимо:

AuthDBUserFile /var/s ecure/userdb

Б.6.3. Директива AuthDBAuthoritative

Синтаксис:

AuthDBAuthoritative on|off

Контекст:

каталог, файл .htaccess

Перекрытие:

AuthConfig

Статус:

Ваsе

Модуль:

mod_auth_db

Если эта директива установлена в on, в доступе на этом уровне будет отказано полностью. Если задано значение off, то к ресурсу можно получить доступ с помо щью механизма идентификации какого то модуля нижнего уровня.

Если необходимо, чтобы модуль mod_auth_db был последней инстанцией е процедуре идентифика , ции, директива AuthDBAuthoritative должна быть установлена в on.

AuthDBAuthoritative on

Б.7. Модуль mod_auth_dbm

Директивы, имеющиеся в этом модуле, предназначены для идентификации с по мощью файлов базы данных DBM. Обсуждение этого метода иденитификации пользователей можно найти в главе 8, "Безопасность".

214

Часть IV. Приложения

Б.7.1. Директива AuthDbmGroupFile

Синтаксис:

AuthDbmGroupFile имя файла

Контекст:

каталог, файл .htaccess

Перекрытие:

AuthConfig

Статус:

Extension

Модуль:

mod_auth_dbm

Эта директива задает абсолютный путь кфайлу базы данных DBM, содержащему перечень пользовательских групп в целях их идентификации. Файл групп проиндек сирован по имени пользователя. За этим значением следует перечень групп, разде ленных запятыми, к которым принадлежит этот пользователь. Пробелы и двоеточия здесь применять нельзя. Этот файл должен храниться вне файловой иерархии, кото рую он защищает, и не должен быть доступен внешнему миру.

Чтобы задать групповой файл в формате DBM, который размещается в файле /etc/secure/ dbmgroup, можно воспользоваться следующей директивой:

AuthDbmGroupFile /etc/secure/dbmgroup

Б.7.2. Директива AuthDBMUserFile

Синтаксис:

AuthDBMUserFile имя файла

Контекст:

каталог, файл .htaccess

Перекрытие:

AuthConfig

Статус:

Extension

Модуль:

mod_auth_dbm

Эта директива определяет абсолютный путь к файлу, содержащему список пользо вателей и пароли, необходимые для их идентификации. Ключом этого файла является имя пользователя, за которым следует зашифрованный с помощью функции crypt () пароль. За этой парой следует двоеточие и произвольная информация. Все, что следу ет за двоеточием, игнорируется. Этот файл должен храниться таким образом, чтобы быть недоступным внешнему миру.

Пример

Чтобы задать размещениефайлапользователей DBM в каталоге /etc/secure/dbmuser,необходимо:

AuthDBMUserFile /etc/secure/dbmuser

Б.7.3. Директива AuthDBMAuthoritative

Синтаксис:

AuthDBMAuthoritative < оп(умолчание) | off >

Контекст:

каталог, файл .htaccess

Перекрытие:

AuthConfig

Статус:

Base

Модуль:

mod_auth_dbm

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

ставленного клиентом.

Приложение Б. Прочие директивы

215

Чтобы сделать модуль mod_auth_dbm последней инстанцией в идентификации пользователя, вос пользуйтесь следующей директивой:

AuthDBMAuthoritative on

Б.8. Модуль mod browser

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

Б.8.1. Директива BrowserMatch

Синтаксис:

BrowserMatch

рег_выр amp1 amp2. . .

Контекст:

конфигурация сервера

Статус:

Base

 

Модуль:

browser

 

Совместимость:

сервер Apache

1.2 и выше

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

Пример

Чтобы присвоить переменной окружения browser значение "netscape", когда заголовок User Agent начинается с символической последовательности "Mozilla...", воспользуйтесь следующей директивой:

BrowserMatch ^Моzillа forms jpeg=yes browser=netscape

Б.8.2. Директива BrowserMatchNoCase

Синтаксис:

BrowserMatchNoCase

регулярное_выражение

 

Контекст:

конфигурация сервера

 

 

 

Статус:

Base

 

 

 

Модуль:

mod_cern_meta

 

 

 

Совместимость:

сервер Apache 1.2 и выше

 

 

Директива

BrowserMatchNoCase

семантически

идентична

директиве

BrowserMatch.

 

 

 

 

Предлагаемая вашему вниманию директива установит переменную окружения platform в значение "windows" в том случае, если строка User Agent содержит символическую последовательность "win":

BrowserMatchNoCase win platform=windows

216

Часть IV. Приложения

Б.9. Модуль mod cern meta

Директивы, имеющиеся в этом модуле, позволяют добавлять в заголовки, обычно выводимые в файле, заголовок метафайла CERN HTTPD.

Б.9.1. Директива MetaDir

Синтаксис:

MetaDir

каталог

Умолчание:

MetaDir

.web

Контекст:

конфигурация сервера

Статус:

Base

 

Модуль:

mod_cern_meta

Совместимость:

сервер Apache 1.1 и выше

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

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

Metadir .

Б.9.2. Директива MetaSuffix

Синтаксис:

MetaSuffix

suffix

Умолчание:

MetaSuffix

.meta

Контекст:

конфигурация сервера

Статус:

Base

 

Модуль:

mod_cern_meta

Совместимость:

сервер Apache 1.1 и выше

Эта директива задает суффикс файла, содержащего метаданные.

Если это значение установлено в значение ".meta", сервер Apache при обслуживании файла index.html возвратит в качестве заголовка содержимое файла index.html.meta. Чтобы акти визировать такое поведение сервера, можно воспользоваться следующей директивой:

MetaSuffix .meta

Б.10. Модуль mod_cgi

Модуль mod_cgi позволяет возвращать динамически генерируемое содержимое, которое создается исполняемыми файлами или компилированными программами (см. главу 9, "Динамические Web страницы).

Б.10.1. Директива scriptLog

Синтаксис:

ScriptLog имя файла

Умолчание:

нет

Контекст:

конфигурация ресурса

Модуль:

mod_cgi

Приложение Б. Прочие директивы

217

Эта директива предназначена для задания файла, в котором будут регистрировать ся ошибки работы CGI сценариев. ЕСЛИ ЭТУ ПЕРЕМЕННУЮ ОСТАВИТЬ НЕНАЗНАЧЕННОЙ, ТО ОШИБКИ НЕ БУДУТ РЕГИСТРИРОВАТЬСЯ ВООБЩЕ. Журнал регистрации ошибок должен быть доступен для записи с помощью CGI процессов. Эта директива больше подходит для применения в качестве временного мероприятия для помощи в процессе отладки.

Чтобы сервер Apache начал регистрировать ошибки, возникающие при работе CGI сценариев, в файл /var/logs/error.txt, воспользуйтесь следующей директивой:

ScriptLog /var/logs/error.txt

Б.10.2. Директива ScriptLogLength

Синтаксис:

ScriptLogLength размер

Умолчание:

10385760

Контекст:

конфигурация ресурса

Модуль:

mod_cgi

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

Чтобы задать размер журнала ScriptLog равным приблизительно 20 Мбайт, воспользуйтесь еле : дующей директивой:

ScriptLogLength 20000000

Б.10.3. Директива ScriptLogBuffer

Синтаксис:

ScriptLogBuffer размер

Умолчание:

1024

Контекст:

конфигурация ресурса

Модуль:

mod_cgi

Эта директива предназначена для задания верхнего предела длины тел зарегистри рованных директив PUT или POST. Это позволяет предотвратить слишком быстрое увеличение размера файла.

Чтобы увеличить стандартное значение на 2048 байт, воспользуйтесь директивой:

ScriptLogBuffer 2048

Б.11. Модуль mod_digest

Этот модуль позволяет производить идентификацию пользователей с помощью алгоритма цифровой идентификации MD5. Он не компилируется по умолчанию. Бо лее подробную информацию об этом типе идентификации можно найти в главе 8, "Безопасность".

218

Часть IV. Приложения

Б.11.1. Директива AuthDigestFile

Синтаксис:

AuthDigestFile

имя файла

Контекст:

каталог, файл

.htaccess

Перекрытие:

AuthConfig

 

Статус:

Base

 

Модуль:

mod_digest

 

Совместимость:

сервер Apache 1.1 и выше

Эта директива используется для указания абсолютного пути к файлу, содержащему список пользователей, отформатированный для идентификации MD5, и зашифрован ных паролей. Следует заметить, что директива AuthType должна быть установлена в значение "Digest", а вместо директивы AuthUserFile придется воспользоваться ди рективой AuthDigestFile.

Пример

Чтобы задать каталог /etc/secure/authdigest для размещения файла auth_digest: AuthDigestFile /etc/secure/authdigest

Б.12. Модуль mod_dir

Директивы, содержащиеся в этом модуле, предназначены для управления ме тодами, с помощью которых создаются и отображаются индексы каталогов. Стан дартным местом, откуда они берутся, является файл index.html. Однако имя этого файла можно изменить. С другой стороны, серверApache можно сконфигу рировать таким образом, чтобы он генерировал и форматировал листинг файлов прямо в каталоге.

Б.12.1. Директива AddAlt

Синтаксис:

AddAlt строка файл файл. . .

Контекст:

конфигурация сервера, виртуальный узел, каталог, файл .htaccess

Перекрытие:

Indexes

Статус:

Base

Модуль:

mod_dir

Эта директива может быть использована для того, чтобы рядом с файлом отобра жалась текстовая строка, а не рисунок. Для этого значение директивы FancyIndexing должно быть установлено в on.

Б.12.2. Директива AddAltByEncoding

Синтаксис:

AddAltByEncoding строка MIME кодирование. . .

Контекст:

конфигурация сервера, виртуальный узел, каталог, файл .htaccess

Перекрытие:

Indexes

Статус:

Base

Модуль:

mod_dir

Эта директива может быть использована для того, чтобы рядом с файлом вме сто стандартной пиктограммы для файлов с заданным MIME кодированием ото бражалась текстовая строка. Для этого значение директивы FancyIndexing долж но быть установлено в on.

Приложение Б. Прочие директивы

219

Пример

Чтобы рядом с файлами MIME типа x compress отображалась строка "compress", достаточно:

AddAltByEncoding "compress" x$compress

Б.12.3. Директива AddAltByType

Синтаксис:

AddAltByType строка MIME mun MIME mun. . .

Контекст:

конфигурация сервера, виртуальный узел, каталог, файл .htaccess

Перекрытие:

Indexes

Статус:

Base

Модуль:

mod_dir

Эта директива используется для того, чтобы рядом с файлом вместо стандартной пиктограммы для файлов с заданным значением МIMЕ тип отображалась текстовая строка. Для этого значение директивы FancyIndexing должно быть установлено в on.

Пример

Следующая директива будет отображать строку "text или html" для файлов MIME типа text/html: AddAltByType "text or html" text/html

Б.12.4. Директива AddDescription

Синтаксис:

AddDescription строка файл файл . . .

Контекст:

конфигурация сервера, виртуальный узел, каталог, файл .htaccess

Перекрытие:

Indexes

Статус:

Base

Модуль:

mod_dir

Эта директива используется для привязки описания изображения к файлу. Пара метр файл может быть как полным, так и неполным именем файла, групповым сим волом или расширением описываемого файла.

Чтобы подключить описание "Foolish Young Dogs" к файлу изображения /web/pics/ housepets.gif, необходимо:

AddDescription "Foolish Young Dogs" /web/pics/housepets.gif

Б.12.5. Директива Addicon

Синтаксис:

Addicon пиктограмма файл файл . . .

Контекст:

конфигурация сервера, виртуальный узел, каталог, файл .htaccess

Перекрытие:

Indexes

Статус:

Ваsе

Модуль:

mod_dir

Эта директива используется для указания пути или URL к файлу, содержимое которого будет отображаться рядом с указанным файлом. Имя может быть определено ^^DIRECTORY, ^^BLANKICON, расширением файла, групповым символом, неполным или полным именем файла. Значение пиктограмма может быть задано относительным URL или в формате (alttext, url), где alttext является текстовой строкой, кото рая будет использоваться для отображения неграфическими броузерами.

220

Часть IV. Приложения

Для отображения пиктограммы, сохраненной в сценарии script.xbm, соответствующей файлам с расширением .рl или .ksh, воспользуемся директивой:

Addicon /icons/script .xbm .pl .ksh

Б. 12.6. Директива AddIconByEncoding

Синтаксис: AddIconByEncoding пиктограмма MlME кодирование MIME кодирование

Контекст: конфигурация сервера, виртуальный узел, каталог, файл .htaccess Перекрытие:Indexes

Статус: Base Модуль: mod_dir

Эта директива используется для задания пиктограммы, которая будет отображаться ря дом с файлами, имеющими определенное MIME кодирование. Значение пиктограмма за дается обычно URL с символом "%" относительно пиктограмммы, или в формате (alttext, url), где alttext является текстовым тегом пиктограммы для неграфических броузеров.

Для отображения пиктограммы comprees.xbm для файлов MIME типа x compress, воспользуй тесь следующей директивой:

AddIconByEncoding /icons/image.xbm x compress

Б.12.7. Директива AddIconByType

Синтаксис: AddIconByType пиктограмма MIME кодирование MIME кодирование ...

Контекст: конфигурация сервера, виртуальный узел, каталог, файл .htaccess Перекрытие: Indexes

Статус: Base Модуль: mod_dir

Эта директива используется для задания пиктограммы, которая будет отображаться ря дом с файлами, имеющими определенный MIME тип. Значение пиктограмма может быть задано URL с символом "%" относительно пиктограммы, или в формате (строка, url), где строка является текстовым тегом пиктограммы для неграфических броузеров. MIME тип является групповым выражением, соответствующим требуемым MIME типам.

Пример

Для отображения текстовой строки IMG вместо файла изображений /icons/image.xbm, который соответствует MIME типу image/*, воспользуйтесь следующей директивой:

AddIconByType (IMG, /icons/image.xbm) image/*

Б.12.8. Директива DefaultIcon

Синтаксис:

DefaultIcon url

Контекст:

конфигурация сервера, виртуальный узел, каталог, файл .htaccess

Перекрытие:

Indexes

Статус:

Base

Модуль:

mod_dir

Приложение Б. Прочие директивы

221

Соседние файлы в предмете Основы электротехники и электроники