Стандартный модуль аутентификации, mod_auth, хранит данные идентификации пользователей в текстовых файлах, поиск в которых осуществляется последовательно. На последовательный поиск может уходить значительное время, даже для нескольких сотен записей.
Чтобы повысить производительность на данном этапе работы, воспользуйтесь базой данных с возможностью индексирования. Поддержка баз данных аутентификации осуществляется двумя модулями: mod_auth_db, который работает с базами данных Berkeley DB, либо mod_auth_dbm, который работает с базами данных Unix DBM. В базовой настройке Solaris динамически загружается модуль mod_auth_dbm, так что мы можем использовать базу данных паролей в системе Solaris, затратив минимум усилий. База данных паролей в применении мало чем отличается от последовательной базы. Если говорить о приведенном выше примере, мы можем перейти к использованию базы данных паролей, всего лишь заменив инструкцию AuthUserFile на инструкцию AuthDBMUserFile, а инструкцию AuthGroupFile на AuthDBMGroupFile. Вот пример:
<Directory "/var/apache/htdocs/internal/accounting"> AuthName "Accounting" AuthType Basic AuthDBMUserFile /etc/apache/passwords AuthDBMGroupFile /etc/apache/groups Require hdqtrs rec bil l pay Order deny,allow Deny from al l Allow from Limit> </Directory>
Этими небольшими изменениями все и ограничивается для файла httpd.conf. Самые серьезные изменения при переходе на базы данных паролей связаны с тем, что пароли определяются теперь совсем не по команде htpassword. Вместо нее для создания записей паролей и групп используется коман- да dbmmanage, синтаксис которой приведен ниже:
dbmmanage filename command username password
Элементы командной строки dbmmanage по большей части прозрачны, filename - это имя файла базы данных, username и password - те самые данные, что должны храниться в базе данных паролей, command - одно из ключевых слов, определяющих назначение данной команды dbmmanage. Существуют следующие ключевые слова:
- Назад
- Вперёд >>