Некоторые разделы вашего сайта могут быть открыты всему миру, но другие вам следует оградить от случайных посетителей. Аутентификация определяет, кто посетитель. Авторизация определяет, что посетитель может делать, например: О читать файл;
О использовать составляющие сервера; О запускать программу CGI;
О создавать главную страницу для директории, в которой такая страница отсутствует.
В Apache обычным местом для хранения аутентификационной информации является пользовательский файл с открытым текстом (часто называемый файлом . htpasswd — по программе, модифицирующей его). Пользовательский файл
содержит IDномера пользователей и зашифрованные пароли. Дополнительный групповой файл содержит групповые ID открытым текстом и пользовательские ID: это полезно для больших сайтов, поскольку позволяет указывать права доступа для целой группы, а не для каждого пользователя отдельно.
Пользовательские файлы
В качестве примера создайте директорию, защищенную паролем, и разместите в ней небольшой текстовый файл:

# cd /var/www # mkdir secret # cd secret # echo "now you see it" > file.html

Поскольку вы его еще не защитили, файл должен быть виден в вашем браузере (http://serverl.centralsoft.org/secret/file.html):
now you see it
Теперь создайте пользовательский файл:

# cd /tmp # htpasswd с /tmp/users jack New password: black_pearl Retype new password: black_pearl Adding password for user jack

Ваш пароль не отобразится так, как вы его печатаете. Следует добавить параметр с, и только после этого вы сможете запустить программу htpasswd, чтобы создать файл.
Если позже вы захотите изменить пароль пользователя jack, то введите следующее:

# htpasswd /tmp/users jack New password: kraken Retype new password: kraken Updating password for user jack

Пользовательский файл состоит из строк, в каждой из которых содержатся имя пользователя и зашифрованный пароль, разделенные двоеточием следующим образом:
jack:OSRBcYQOd/qsI
Теперь исправьте файл конфигурации сайта Apache /etc/apache2/si tesепаЫ ей/ ОООdefault и добавьте такой код (до последней строки ):
«Location /secret> AuthName "test" AuthType Basic
AuthllserFile /tmp/users Order deny.allow require validuser
Директива AuthName является обязательной, и за ней должна следовать строка в кавычках. Мы используем здесь значение "test". Кроме того, вы можете применять пустую строку "", но по некоторым причинам вы не сможете пренебречь этой директивой. Директива AuthType Basic означает, что мы используем пользовательский файл типа htpasswd. С помощью директивы AuthUserFi 1 е указывается местоположение этого пользовательского файла. Директива Order сообщает, что Apache по умолчанию должен закрыть доступ. Разрешить доступ можно только тем, кто указан в пользовательском файле. Наконец, директива requi ге сообщает, что допускается любой пользователь, указанный в пользовательском файле. Чтобы разрешить пользователю jack видеть скрытую информацию, вы должны заменить команду
require validuser
на
require jack
Если у вас несколько допущенных пользователей, то вы должны добавлять их таким образом:
require jack will elizabeth
Вебсерверу Apache должно быть приказано перечитать свой файл конфигурации относительно этих изменений, чтобы достичь эффекта:

# /etc/init.d/apache2 reload

Теперь попытайтесь попасть в закрытый файл (http://www.example.com/secret/file. html) с одной из учетных записей, перечисленных в пользовательском файле. Вы увидите окно с сообщением, подобным следующему:
Enter usernane and password for "test" at serverl.centralsoft.org
Username:
Password:
Введите имя пользователя и пароль (вводя пароль, вы будете видеть звездочки) и нажмите кнопку ОК. Вы увидите такое сообщение:
now you see it