Хокинс С. - Администрирование Web-сервера Apache и руководст
.pdfидентификация, доступ предоставлен не будет. Если директива установлена в 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 |