.htpasswd
.htpasswd — файл, содержащий пароли для доступа к ресурсу у веб-сервера Apache. Метод авторизации с использованием такого файла носит название базового (англ. basic authentication). Некоторые другие веб-серверы, например, nginx[1], также могут работать с этим файлом.
Название начинается с точки, так как точка в Unix-подобных операционных системах указывает на атрибут «скрытый». Кроме того, Apache не отдаёт по запросу файлы, имя которых начинается с «.ht», что позволяет размещать файл паролей внутри каталогов, доступных анонимным пользователям.
Формат файла
Файл состоит из строк, каждая из которых соответствует паре логин/хеш пароля. Логин отделяется от хеша двоеточием. Пример содержимого файла .htpasswd.
gygtest:eCcls0kn3MEXs
Вместо пароля в файле сохраняется хеш, рассчитанный одним из следующих способов:
Функция crypt используется по умолчанию для всех операционных систем за исключением MS Windows и Transaction Processing Facility. Помимо перечисленных, есть ещё один вариант — когда пароль хранится в виде открытого текста и никак не защищается.
Для генерации данных для .htpasswd используется утилита htpasswd.
Файл предусматривает только ограничение на доступ на чтение, если при доступе к веб-страницам производится запись, то возможность записи контролируется правами на файл в файловой системе.
Утилита htpasswd
Для работы с файлом паролей служит утилита htpasswd, обычно входящая в состав дистрибутива веб-сервера Apache. Посредством неё производится создание файлов паролей, а также добавление новых записей, либо модификация существующих.
Ниже приведена строка для добавления нового пользователя ivan в уже существующий файл с именем .htpasswd. Если нужно создать новый файл, то добавьте ключ -c.
htpasswd /usr/local/www/data/.htpasswd ivan
См. также
Примечания
- ↑ Описание модуля ngx_http_auth_basic_module . Дата обращения: 5 ноября 2008. Архивировано 17 октября 2008 года.