Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, баз данных и сетевого оборудования. Перед выполнением действий обязательно создайте резервную копию. При отсутствии необходимой квалификации обратитесь к ИТ-специалистам.
Apache Error: AH01759: user 'admin' in realm 'Restricted' not found in .htpasswd Linux / DevOps

Apache Error AH01759: user not found in .htpasswd — Решение

Обновлено: 18.08.2026  ·  Официальная база знаний

При попытке пройти аутентификацию на закрытом ресурсе сервер возвращает ошибку 401 Unauthorized. В журнале error.log фиксируется отсутствие учетной записи в базе пользователей: [authn_file:error] [pid 1234:tid 5678] [client 10.0.0.1:45678] AH01759: user 'admin' in realm 'Restricted' not found in /etc/apache2/.htpasswd.

Причина отказаЧто ищет ApacheЧто реально находится в файле
Пользователь не заведенЛогин adminФайл .htpasswd пуст или содержит других пользователей
РегистрозависимостьЛогин Admin (с большой буквы)В .htpasswd записан пользователь admin (в нижнем регистре)
Ошибочный путь AuthUserFileФайл /etc/apache2/.htpasswdДиректива указывает на пустой или устаревший файл
  • Apache не может сопоставить введенное имя пользователя с записями в файле провайдера mod_authn_file.
  • Клиент получает отказ в доступе после ввода любых учетных данных.
  1. Проверьте список всех существующих пользователей внутри файла .htpasswd:
    cut -d: -f1 /etc/apache2/.htpasswd
  2. Если нужного пользователя нет в списке, добавьте его с помощью утилиты htpasswd:
    sudo htpasswd -B /etc/apache2/.htpasswd admin
  3. Проверьте директиву AuthUserFile в конфигурационном файле виртуального хоста или .htaccess и убедитесь, что путь к файлу указан абсолютно точно:
    <Location /admin>
        AuthType Basic
        AuthName "Restricted"
        AuthBasicProvider file
        AuthUserFile /etc/apache2/.htpasswd
        Require valid-user
    </Location>
  4. Убедитесь, что имя пользователя вводится с учетом регистра (в Linux имена User и user являются разными учетными записями).
  5. Проверьте права на чтение файла: sudo chmod 640 /etc/apache2/.htpasswd && sudo chown root:www-data /etc/apache2/.htpasswd.
  6. Перезагрузите веб-сервер: sudo systemctl reload apache2 # или httpd.
Что такое Realm (AuthName): Параметр AuthName (Realm) задает текстовое описание защищаемой зоны, которое отображается пользователю в диалоговом окне браузера. Он также связывает сессию авторизации в браузере с конкретным ресурсом.
Практический опыт инженера: Если вы редактируете `.htpasswd` скриптами автоматизации, следите за тем, чтобы в конец файла всегда добавлялся символ перевода строки `\n`, иначе последний добавленный пользователь не будет прочитан парсером.

Частые вопросы (FAQ)

Чем AH01759 отличается от AH01618?

AH01759 означает, что само имя пользователя (логин) отсутствует в файле .htpasswd, тогда как AH01618 означает, что пользователь найден, но введенный пароль не совпал с хэшем.

Что делать, если утилита htpasswd не найдена в системе?

Установите пакет утилит: sudo apt install apache2-utils (Debian/Ubuntu) или sudo dnf install httpd-tools (RHEL/CentOS).

Как ограничить доступ конкретным пользователем вместо Require valid-user?

Используйте директиву Require user admin manager (доступ получат только пользователи admin и manager, даже если в .htpasswd есть другие).

Можно ли использовать пробелы в именах пользователей в .htpasswd?

Имена пользователей в формате htpasswd не должны содержать символ двоеточия (:) и пробелы.