.htpasswd — файл, содержащий пароли для доступа к ресурсу у веб-сервера Apache. Метод авторизации с использованием такого файла носит название базового (англ. basic authentication). Некоторые другие веб-серверы, например, nginx, также могут работать с этим файлом.
Название начинается с точки, так как точка в Unix-подобных операционных системах указывает на атрибут «скрытый». Кроме того, Apache не отдаёт по запросу файлы, имя которых начинается с точки, что позволяет размещать файл паролей внутри директорий, доступных анонимным пользователям.
Файл состоит из строк, каждая из которых соответствует паре логин/хеш пароля. Логин отделяется от хеша двоеточием. Пример содержимого файла .htpasswd. gygtest:eCcls0kn3MEXs
Вместо пароля в файле сохраняется xеш, рассчитанный одним из следующих способов: системная функция crypt алгоритм MD5 (модифицированный в проекте Apache) SHA
Функция crypt используется по умолчанию для всех операционных систем за исключением MS Windows и Transaction Processing Facility. Помимо перечисленных, есть ещё один вариант — когда пароль хранится в виде открытого текста и никак не защищается.
Для генерации данных для .htpasswd используется утилита htpasswd.
Файл предусматривает только ограничение на доступ на чтение, если при доступе к веб-страницам производится запись, то возможность записи контролируется правами на файл в файловой системе.
Для работы с файлом паролей служит утилита htpasswd, обычно входящая в состав дистрибутива веб-сервера Apache. Посредством неё производится создание файлов паролей, а также добавление новых записей, либо модификация существующих.
Ниже приведена строка для добавления нового пользователя ivan в уже существующий файл с именем .htpasswd. Если нужно создать новый файл, то добавьте ключ -c.