Interested Article - .htpasswd

.htpasswd — файл, содержащий пароли для доступа к ресурсу у веб-сервера Apache . Метод авторизации с использованием такого файла носит название базового ( англ. basic authentication ). Некоторые другие веб-серверы, например, nginx , также могут работать с этим файлом.

Название начинается с точки, так как точка в Unix-подобных операционных системах указывает на атрибут «скрытый». Кроме того, Apache не отдаёт по запросу файлы, имя которых начинается с «.ht», что позволяет размещать файл паролей внутри каталогов, доступных анонимным пользователям.

Формат файла

Файл состоит из строк, каждая из которых соответствует паре логин/хеш пароля. Логин отделяется от хеша двоеточием. Пример содержимого файла .htpasswd.

gygtest:eCcls0kn3MEXs

Вместо пароля в файле сохраняется хеш , рассчитанный одним из следующих способов:

  • системная функция crypt ;
  • bcrypt ;
  • алгоритм MD5 (модифицированный в проекте Apache);
  • SHA .

Функция crypt используется по умолчанию для всех операционных систем за исключением MS Windows и . Помимо перечисленных, есть ещё один вариант — когда пароль хранится в виде открытого текста и никак не защищается.

Для генерации данных для .htpasswd используется утилита htpasswd.

Файл предусматривает только ограничение на доступ на чтение, если при доступе к веб-страницам производится запись, то возможность записи контролируется правами на файл в файловой системе.

Утилита htpasswd

Для работы с файлом паролей служит утилита htpasswd, обычно входящая в состав дистрибутива веб-сервера Apache . Посредством неё производится создание файлов паролей, а также добавление новых записей, либо модификация существующих.

Ниже приведена строка для добавления нового пользователя ivan в уже существующий файл с именем .htpasswd. Если нужно создать новый файл, то добавьте ключ -c .

htpasswd /usr/local/www/data/.htpasswd ivan

См. также

Примечания

  1. . Дата обращения: 5 ноября 2008. 17 октября 2008 года.
Источник —

Same as .htpasswd