Более совершенная аутентификация

Содержание материала

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
 

Стандартный модуль аутентификации, 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. Существуют следующие ключевые слова:


add

Добавляет имя пользователя и пароль в базу данных. Пароль должен быть предварительно зашифрован, поскольку dbmmanage не шифрует пароль по ключевому слову add. См. описание ключевого слова adduser.

adduser

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

check

Проверяет соответствие имени пользователя и пароля той паре, что хранится в базе данных.

delete

Удаляет из базы данных имя пользователя и пароль.

import

Копирует записи username:password со стандартного потока ввода. Предполагается, что пароли уже зашифрованы.

update

Изменяет пароль для пользователя, запись которого уже существует в ба- зе данных.

view

Отображает содержимое базы данных.

В следующем примере создается файл /etc/apache/passwords, после чего в базу данных добавляются два новых пользователя:

# dbmmanag e /etc/apache/passwords adduser sara
New password: 
Re-type new password: 
User sara added with password encrypted to XsH4aRiQbEzp2 
# dbmmanag e /etc/apache/passwords adduser alana 
New password: 
Re-type new password: 
User alana added with password encrypted to AslrgF/FPQvF6 
# dbmmanag e /etc/apache/passwords view
alana:AslrgF/FPQvF6 
sara:XsH4aRiQbEzp2

Обратите внимание, что если пароль не указан в командной строке, dbmmanage предлагает ввести его. Все приведенные примеры осуществляют управление доступом для отдельных каталогов. Такое же управление доступом может выполняться для всех каталогов сервера либо отдельных документов. Чтобы задействовать механизмы управления доступом для всех документов сервера, достаточно просто разместить инструкции управления вне контейнера Directory; инструкции управления внутри контейнера Directory действуют на один каталог. Чтобы задействовать механизмы управления для отдельных файлов или документов, достаточно поместить соответствующие инструкции внутри контейнера Files или Document.


Обмениваться, хранить, передавать Ваши файлы стало просто как никогда.
yandex-disk
Читать подробнее: для чего Yandex-Диск проекту Mini-Server. Практика установки, настройки и использования сетевого хранилища на Ubuntu server LTS 12.04 в статье Резервное копирование сервера Ubuntu на Яндекс Диск.

>> Ubuntu 12.04 + Nginx Скачать сервер
>> Fedora 15 Скачать сервер
>> Простой Debian 6.0.6 Скачать сервер
>> CentOS 6.0 и
+ (5.6) другой
Скачать сервер
>> OpenSUSE 11.4
MAX
Скачать сервер

Вход на сайт

ВНИМАНИЕ!

Регистрация на сайте только по согласованию с администратором ресурса. Обращаться через форму обратной связи.