Каталог расширений

Популярные теги

3gp       avi       fb2       jpg       mp3       pdf      

Htpasswd как создать файл


htpasswd генератор. Создание .htpasswd и .htaccess для 401-авторизации

У Вас в браузере заблокирован JavaScript. Разрешите JavaScript для работы сайта!

Если Вы хотите сделать базовую авторизацию на уровне apache - серевера Вам необходимо сгенерировать .htpasswd файл. Действие файлов .htaccess распространяется на текущую директорию и на все поддиректрии, лежащие уровнем ниже.

Укажите данные для создания .htpasswd и .htaccess файлов:

Данный пароль сгенерирован при помощи htpasswd и подходит для Linux и Windows
Скопируйте эту строку в ваш .htpasswd файл:

admin:SbMAWhf7pD0aYЭж
Помните, только одна запись может быть в строке!

Для ограничения доступа к выбранной директории скопируйте эти строчки в ваш .htaccess файл:

 AuthType Basic AuthName "Thats protected Area!" AuthUserFile /usr/host/mysite/.htpasswd Require valid-user <Files .htpasswd> deny from all #запрет доступа из браузера к .htpasswd </Files> 

Для запрета доступа только к файлу private.zip скопируйте эти строчки в ваш .htaccess файл:

 <Files private.zip> AuthType Basic AuthName "Thats protected Area!" AuthUserFile /usr/host/mysite/.htpasswd Require valid-user </Files> <Files .htpasswd> deny from all #запрет доступа из браузера к .htpasswd </Files> 

Обратите внимание что файлы .htaccess и .htpasswd должны быть сохранены в unix-формате. Например, в Far Manager этого можно достичь если в режиме редактирования файла нажать комбинацию Shift+F2 и в появившемся меню выбрать “в формате UNIX (LF)”.

Директивы и описание файла .htaccess, используемые для ограничения доступа
  • AuthType — Тип используемой аутентификации. Для базовой аутентификации эта директива должна иметь значение: Basic
  • AuthName — Имя области действия аутентификации. Текст, помогающий посетителю понять, куда он пытается получить доступ. Например, может быть написано: "Private zone. Only for administrator!"
  • AuthUserFile — полный путь к файлу с паролями (.htpasswd). Относительные пути работать не будут.
  • AuthGroupFile — путь к файлу групп, если он существует.
  • Require - Одно или несколько требований, которые должны быть выполнены для получения доступа к закрытой области.
    • require valid-user — разрешен доступ всем прошедшим проверку
    • require user admin alex mango — разрешен доступ только посетителям с именами admin, alex, mango. Естественно, они должны пройти аутентификацию.
    • require group admins - разрешен доступ всем пользователям из группы admins

Файлы групп

Если к защищаемой области сайта должна иметь доступ группа людей, то удобно объединить людей в группы, и разрешать доступ, определяя принадлежность пользователей к группе.

Формат файла групп - это текстовый файл, каждая строка, которого описывает отдельную группу. Первым в строке должно идти название группы с двоеточием. А затем через пробел перечисляются посетители, входящие в группу.

Пример файла групп:

Admins: admin alex mango Users: guest user max23 

В группу Admins входят посетители с именами admin, alex, mango. А группу Users входят посетители с именами guest, user, max23.

Пример файла .htaccess для доступа всем пользователям, прошедшим авторизацию:

AuthType Basic AuthName "Private zone. Only for administrator!" AuthUserFile /usr/host/mysite/.htpasswd require valid-user 

Пример файла .htaccess для доступа только пользователям admin и root:

AuthType Basic AuthName "Private zone. Only for administrator!" AuthUserFile /usr/host/mysite/.htpasswd require user admin root 

Доступ только пользователей из группы admins:

AuthType Basic AuthName "Private zone. Only for administrator!" AuthUserFile /usr/host/mysite/.htpasswd AuthGroupFile /usr/host/mysite/group require group admins 

Утилита htpasswd, с помощью которой Вы можете самостоятельно генерировать пароли описана в оригинальной документации (на английском). Здесь Вы можете скачать утилиту htpasswd.exe для Windows.

C остальными директивами и возможностями файла .htaccess Вы можете ознакомиться в статье .htaccess

Защита сайта с помощью .htaccess и .htpasswd

В данной статье будет рассмотрен самый простой и доступный способ защиты — базовая аутентификация.

Замечание

Аутентификация — процесс, с помощью которого проверяется, что некто является именно тем, за кого он себя выдает. Как правило, проверка включает в себя ввод имени и пароля.

Рассмотрим, как работает базовая аутентификация.
При обращении посетителя в защищаемую директорию, сервер Apache в ответ на запрос посылает заголовок с кодом 401 (401 authentication required header). Браузер посетителя принимает заголовок с кодом 401 и выводит окно с полями для ввода имени пользователя и пароля. После ввода имени и пароля эти данные отсылаются назад серверу, который проверяет имя пользователя на предмет нахождения в специальном списке, а пароль на правильность. Если все верно, то посетитель получает доступ к ресурсу. Вместе с заголовком браузеру посылается специальной имя, называемое областью действия. Браузер кэширует не только имя и пароль, чтобы передавать их при каждом запросе, но и область действия. Благодаря этому, ввод имени и пароля в защищаемой директории осуществляется только раз. В противном случае их необходимо было бы вводить при каждом запросе к защищаемой директории. Кэширование параметров аутентификации (имя, пароль, область действия), обычно осуществляет только в пределах одного сеанса.

Замечание

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

Замечание

WEB-сервер Apache поддерживает еще один вид защиты — digest-аутентификацию. При digest-аутентификации пароль передается не в открытом виде, а в виде хеш-кода, вычисленному по алгоритму MD5. Поэтому пароль не может быть перехвачен при сканировании трафика. Но, к сожалению, для использования digest-аутентификации необходимо установить на сервер специальный модуль — mod_auth_digest. А это находится только в компетенции администрации сервера. Также, до недавнего времени, digest-аутентификация поддерживалась не всеми видами браузеров.

Для того чтобы защитить сайт, нужно выполнить следующую последовательность действий: создать файл с паролями, переписать его на сервер, создать файл .htaccess и тоже переписать его на сервер.
Для организации защиты понадобится.

1. WEB-сайт и FTP-доступ к нему.
2. Права на создание файлов .htpaccess и организацию защиты с помощью них.
3. Утилита генерации паролей htpasswd.exe

Для того чтобы проверить есть ли у Вас права на организацию защиты с помощью файлов .htaccess создайте текстовый файл с именем .htaccess (первым символом идет точка, расширение отсутствует).

Замечание

Удобно создавать файлы .htaccess с помощью встроенного редактора в оболочках Far, WindowsCommander, TotalCommander и т.п., а также в редакторе Блокнот.

Замечание

Чтобы блокнот не подставлял автоматически расширение txt, в диалоге сохранения в выпадающем списке «тип файла» следует выбрать опцию «Все файлы».

Перед тем как сохранить файл, впишите в него следующие строки:

AuthType Basic AuthName admin require valid-user

Затем, через FTP-доступ, перепишите файл .htaccess на сайт, в ту директорию, которую вы хотите защитить.

Замечание

Действие файлов .htaccess распространяется не только на ту директорию, где лежит файл, но и на все поддиректрии, лежащие уровнем ниже.

Далее через браузер обратитесь к этой директории. Если Вы защищаете директорию admin и переписали туда файл .htaccess, то для проверки Вам следует вписать в адресную строку браузера следующий URL: http://www.mysite.ru/admin/.

Если после этого Вам открылся запрос на ввод логина и пароля, как на рисунке ниже, то тестирование прошло успешно и можно продолжать защиту директории.

Если вы все сделали правильно, но окошко ввода пароля не появилось, то это значит, что настройки сервера запрещают Вам использовать файлы .htaccess для защиты директорий. Для решения данного вопроса Вам следует связаться с администрацией сервера, либо использовать другой тип защиты.
После того, как было выяснено, что файлы .htaccess работают, следует удалить с сайта только что написанный тестовый файл.

Замечание

Если по каким либо причинам Вы не можете удалить файл .htaccess, то создайте пустой файл .htaccess и замените им файл, лежащий на сервере.

Файл с паролями создается утилитой htpasswd.exe. Если у Вас на машине установлен WEB-сервер Apache, то данная утилита находится в директории с установленным Apache-ем в подкаталоге bin.

Замечание

Если у Вас не установлен Apache, то утилиту htpasswd.exe можете скачать по ссылке: http://www.softtime.ru/files/htpasswd.zip.

Для работы с утилитой htpasswd.exe необходим интерфейс работы с командной строкой. Интерфейсом работы с командной строкой обладают такие программы как Far, WindowsCommander и т.п. Здесь будет рассмотрена работа с командной строкой с помощью утилиты cmd, которая входит в поставку Windows 2000/XP и т.п.
Нажмите «Пуск»->»Выполнить», введите в строку ввода cmd и нажмите ОК. Вам откроется окно утилиты CMD.

Далее необходимо перейти в директорию, где находится утилита htpasswd.exe. Допустим, сервер Apache установлен в директории с:/Apache2, тогда введите в командную строку команду: cd../../apache2/bin и нажмите ввод.

Вы перешли в директорию с:Apache2 in. Теперь нужно дать команду на создание файла с паролем. Введите в командную строку следующее:

htpasswd -cm .htpasswd admin

* -cm — это ключи для утилиты. Ключ с — указывает, что необходимо создать новый файл с паролями. Если файл с таким именем уже существует, то он будет перезаписан. Ключ m — определяет шифрование по алгоритму MD5.
* .htpasswd — имя файла с паролями (можете использовать любое имя).
* admin — имя посетителя, которому будет разрешен доступ в закрытую область сайта.

В ответ, должен появится запрос на ввод пароля и его повтор. Если все правильно, то в завершении появится сообщение: Adding password for user admin. И в директории c:Apache2 in появится файл .htpasswd, к котором будет находиться строка с именем пользователя и хеш-кодом его пароля. Для того, что бы в тот же файл .htpasswd добавить еще одного пользователя следует убрать ключ -c из команды запуска утилиты htpasswd.exe

htpasswd -m .htpasswd admin

Замечание

Если файл с паролями не был создан, то возможно, некоторые ключи утилиты не поддерживаются в Вашей операционной системе. Например, иногда не поддерживается ключ m. В этом случае, Вам нужно ввести htpasswd -c .htpasswd admin
Для того, чтобы посмотреть ключи и параметры работы утилиты введите htpasswd.exe /? Вам будет выдано описание интерфейса.

Итак, файл с паролями создан. Теперь Вам необходимо переписать его на сервер. Файлы с паролями очень желательно класть выше корневой директории сайта — туда, куда не будет доступа посетителям.
Если это невозможно, то файлы с паролями следует обязательно защитить. Это можно сделать с помощью файлов .htaccess. Чтобы защитить файлы с паролями создайте файл со строками, представленными в следующем листинге.

И положите его в ту директорию, где находится Ваш файл с паролями. Теперь посетители сайта не смогут получить к нему доступ.
Файл с паролем создан и защищен от несанкционированного доступа. Теперь необходимо создать файл .htaccess, который будет использоваться в защищаемой директории.

Для защиты директории могут использоваться следующие директивы:

* AuthType — Тип используемой аутентификации. Для базовой аутентификации эта директива должна иметь значение: Basic
* AuthName — Имя области действия аутентификации. Текст, помогающий посетителю понять, куда он пытается получить доступ. Например, может быть написано: «Private zone. Only for administrator!»
* AuthUserFile — путь к файлу с паролями (.htpasswd).
* AuthGroupFile — путь к файлу групп, если он существует.
* Require — Одно или несколько требований, которые должны быть выполнены для получения доступа к закрытой области.

AuthType Basic AuthName "Private zone. Only for administrator!" AuthGroupFile /usr/host/mysite/group AuthUserFile /usr/host/mysite/.htpasswd require group admins

Следует более подробно описать директивы AuthUserFile и AuthGroupFile. В них прописываются абсолютные пути к соответствующим файлам от корня сервера.

Внимание!

Относительные пути работать не будут!

Путь от корня сервера, можно узнать, спросив у администрации сервера, либо можно попробовать выяснить его самим. Для этого выполните функцию phpinfo(). На экран будет выведена фиолетовая таблица. Значение абсолютного пути от корня сервера можно посмотреть в переменных: doc_root, open_basedir, DOCUMENT_ROOT.
Директива Require определяет кому разрешен доступ к закрытой области. Например,

* require valid-user — разрешен доступ всем прошедшим проверку
* require user admin alex mango — разрешен доступ только посетителям с именами admin, alex, mango. Естественно, они должны пройти аутентификацию.
* require group admins — разрешен доступ всем пользователям из группы admins

Если к защищаемой области сайта должна иметь доступ большая группа людей, то удобно объединить людей в группы, и разрешать доступ, определяя принадлежность посетителя к группе.
Формат файла групп очень прост. Это текстовый файл, каждая строка, которой описывает отдельную группу. Первым в строке должно идти название группы с двоеточием. А затем через пробел перечисляются посетители, входящие в группу.

Пример файла групп

Admins: admin alex mango Users: guest user max23

В группу Admins входят посетители с именами admin, alex, mango. А группу Users входят посетители с именами guest, user, max23.

Примеры файлов .htaccess

Доступ всем пользователям, прошедшим авторизацию

AuthType Basic AuthName "Private zone. Only for administrator!" AuthUserFile /usr/host/mysite/.htpasswd require valid-user

Доступ только пользователям admin и root

AuthType Basic AuthName "Private zone. Only for administrator!" AuthUserFile /usr/host/mysite/.htpasswd require user admin root

Доступ только пользователей из группы admins

AuthType Basic AuthName "Private zone. Only for administrator!" AuthUserFile /usr/host/mysite/.htpasswd AuthGroupFile /usr/host/mysite/group require group admins

Запрет доступа только к файлу private.zip

AuthType Basic AuthName "Private zone. Only for administrator!" AuthUserFile /usr/host/mysite/.htpasswd require valid-user

Как создать .htpasswd - unixhelp.org

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

Для создания нового файла .htpasswd

Можно воспользоваться online генератором или сгенерировать в консоле.

В командной строке набираем команду:

htpasswd -mbc /Dir/.htpasswd username PassWord

Для изменения существующего файла .htpasswd

В командной строке набираем команду:

htpasswd -mb /Dir/.htpasswd username PassWord

Dir — каталог где будет лежать файл

username — имя с которым будем заходить в закрытую .htaccess область

PassWord — пароль с которым будем заходить в закрытую .htaccess область

Полный список ключей :

-c Create a new file.
-n Don’t update file; display results on stdout.
-m Force MD5 encryption of the password.
-d Force CRYPT encryption of the password (default).
-p Do not encrypt the password (plaintext).
-s Force SHA encryption of the password.
-b Use the password from the command line rather than prompting for it.
-D Delete the specified user.

Как закрыть сайт паролем с помощью htaccess

Бывают ситуации, когда сделанный вами сайт не должен быть публичным, а используется как некий сервис для ограниченного круга лиц. Можно, конечно, нагородить аутентификацию через PHP, но есть почти элементарный способ – закрыть папку на сайте средствами Apache. Например, с помощью файлов .htaccess и .htpasswd. Вот об этом мы сейчас и поговорим.

Создаём файл .htpasswd с паролями

Для того, чтобы установить пароль, сначала мы должны сгенерировать файл .htpasswd. Делается это с помощью утилиты htpasswd, которая существует в версии как для Linux, так и для Windows.

htpasswd -c .htpasswd admin

Ключ указывает, что необходимо создать новый файл с паролями. .htpasswd - имя генерируемого файла. admin – логин пользователя, которому будет разрешен доступ в закрытую часть сайта. После запуска утилиты со всеми нужными параметрами, появится запрос на ввод пароля и его повтор. Если файл .htaccess у вас уже создан, и вы хотите добавить в него нового пользователя, просто запустите утилиту, указав файл с паролями без ключа –c.

Создаваемый файл является текстовым и содержит логин пользователя и хеш-пароля, которые, разделены двоеточием. По умолчания, алгоритм хеширования – DES. Но его можно сменить и использовать алгоритм MD5 с ключом –m, но лучший вариант использование алгоритма SHA(ключ -s).

Защита сайта с помощью .htaccess

Итак, файл создан, затем добавляем к корневую директорию сайт файл .htaccess или дописываем в уже существующий следующие строки:


# Закрываем доступ к файлу .htaccess
Order allow,deny
Deny from all
Satisfy All

# Указываем место положение файла .htpasswd, включаем аутентификация
AuthUserFile /etc/apache2/passwd/.htpasswd
AuthName "Password Protected Area"
AuthType Basic
Require valid-user

Параметр AuthUserFile указывает на абсолютный путь к файлу .htpasswd. По неизвестной мне причине, во многих мануалах которые я видел, файл паролей зачем-то хранят в домашней директории пользователя. Я бы не советовал хранить этот файл в домашней директории, а тем более в корневой директории сайта.

После создания файла и размещения файл .htaccess в корне сайта, неплохо было бы перезагрузить процесс apache.

Также хотелось бы обратить ваше внимание, что неплохо было бы закрыть сайт от индексации поисковыми системами. Для этого в корневой директории сайт создаём файл robots.txt со следующим содержанием:


User-agent: *
Disallow: /

На этом я думаю можно, и закончить этот пост. Если у Вас есть какие-то ещё вопросы по теме, жду их в комментариях.

Использование .htpasswd | .htaccess

Как ограничить доступ к каталогам сайта
Самый простой способ это сделать — использовать встроенную авторизацию веб-сервера apache. Для этого используется файл .htaccess c соответствующими
директивами для apache. В самом простом случае директивы должны быть такими:

authuserfile /полный_путь_к_файлу/.htpasswd authgroupfile /dev/null authname подсказка authtype basic require valid-user

Директива authuserfile задает путь к файлу, содержащему имена и пароли пользователей. Он может иметь практически любое имя и располагаться в любом каталоге,
главное — чтобы веб-сервер мог его прочитать, что требует установки соответствующих прав доступа к этому файлу (на нашем сервере — 644). Однако традиционно
такие файлы называют .htpasswd
При таком наборе директив доступ к каталогу получат все пользователи, перечисленные в .htpasswd. Чтобы дать доступ только некоторым из них, вместо require
valid-user нужно в .htaccess записать директиву require user список_имен_пользователей
где список_имен_пользователей имеет вид: имя_пользователя1 имя_пользователя2 имя_пользователя3…
Как создать файл .htpasswd
Хотя .htpasswd — это обычный текстовой файл, для работы с ним есть специальная утилита — ее вариант для unix называется htpasswd
Команда htpasswd -c .htpasswd имя_пользователя
создаст новый файл .htpasswd, запросит пароль для пользователя и создаст запись о пользователе с указанными именем и паролем в этом файле.

Как добавить или изменить запись о пользователе в .htpasswd
Команда htpasswd имя_файла имя_пользователя
запросит пароль для пользователя и создаст запись о пользователе с указанными именем и паролем в указаном файле или изменит пароль пользователя в уже
существующей записи.
Как удалить запись о пользователе из .htpasswd
Для этого достаточно открыть .htpasswd обычным текстовым редактором, найти и удалить строчку, начинающуюся с имя_пользователя:

Подскажите, пожалуйста, как я могу создать работающий файл .htpasswd ?

Вроде бы ясно, что пароли, соответствующие логинам, хранятся в этих файлах в закриптованной форме.
Пробовал разные утилитки для win, которые криптуют пароли по казалось бы подходящей схеме. Но на практике пароли не распознаются.

Чем в windows создавать файлы .htpasswd, чтобы они работали?
Создавать эти файлы лучше через скрипт.

1. Создать файл паролей, выполнив из скрипта команду
/usr/local/apache/bin/htpasswd -c -b passwordfile username password

где passwordfile это, например, /home/mydomainru/.htpasswd
usernanme и password соответственно имя пользователя и пароль

2. В директории, которую Вы паролируете, создать файл .htaccess

authtype basic authname "security system" authuserfile /home/mydomainru/.htpasswd <limit get post> require valid-user </limit>

Базовая аутентификация. Как поставить пароль на раздел, директорию или каталог сайта? Утилита htaccess. — Хомячье логово

Содержание:

1. Для чего это нужно?
2. Как настроить доступ по паролю.
3. Подготовка httpd-tools.
4. Создание файла htpasswd.
5. Создание файла htpasswd с помощью онлайн инструментов.
6. Ограничение на каталог.
7. Ограничение для всего сайта.
8. Объединение ограничений IP с базовой аутентификацией.
9. Доступ внутри сети, но без доступа вне сети.
10. Проверка работы htpasswd.
11. Оригиналы источников информации.


1. Для чего это нужно.

Файлы, размещенные на web-сервере Nginx, являются общедоступными по умолчанию. Если вы хотите защитить файлы от несанкционированного доступа, вы можете использовать базовую аутентификацию HTTP. Это простой метод аутентификации, при котором пользователям необходимо предоставить имя пользователя и пароль для доступа к файлам на вашем сервере.

Бывают случаи, когда нужно ограничить доступ пользователей к определенной папке на сайте (разделу сайта) и пускать туда посетителей только по паролю. Например, в раздел администратора.

В этой статье мы узнаем, как использовать базовую функцию аутентификации, встроенную в Nginx. Кроме того, вы можете комбинировать это с другими ограничениями, такими как разрешение доступа с определенных IP-адресов.

Ограничить доступ можно по адресу или организовать одновременное ограничение доступа по адресу и паролю.

2. Как настроить доступ по паролю.

Во-первых, необходим файл с кодами авторизации, который содержит имена пользователей и их пароли.

Во-вторых, необходимо указать web-серверу, что доступ к этому разделу сайта (папка, директория) возможен только авторизованным пользователям.

3. Подготовка httpd-tools.

Очевидно, у вас должна быть копия Nginx в вашей системе, прежде чем вы сможете ее настроить. Кроме того, вы должны установить утилиту Apache для генерации хешированных паролей. На Nginx файлы паролей используют тот же формат, что и на Apache.

На CentOS 7 вы можете установить его так:

# yum -y install httpd-tools

4. Создание файла htpasswd.

Название файла с паролями может быть любое. Назовем его исторически — htpasswd, но скрытым (точной перед файлом) делать не будем.

Расположение файла тоже может быть любое!

Файл htpasswd содержит список имен пользователей и паролей. Nginx использует его для проверки учетных данных пользователей, которые хотят получить доступ к защищенным областям сайта.

Задаёт файл, в котором хранятся имена и пароли пользователей. Формат файла следующий:

# комментарий
 имя1:пароль1
 имя2:пароль2:комментарий
 имя3:пароль3

В имени файла можно использовать переменные.

Сначала создайте пустой файл с именем /etc/nginx/htpasswd примерно так:

# touch /etc/nginx/htpasswd

Или просто заказать первичное создание этого файла у утилиты:

# htpasswd -c /etc/nginx/htpasswd admin

Флажок -c указываем, когда только создаем htpasswd первично, /etc/nginx/htpasswd — путь к файлику, а admin — нужный логин.

Внимание! Если у вас уже существует файл с таким именем, то его содержимое будет заменено, поэтому перед процедурой обязательно удостоверьтесь, что такого файла нет или используйте любое другое имя, которого точно нет.

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

Например, если вы хотите добавить пользователя bob в файл, запустите:

# htpasswd /etc/nginx/htpasswd bob

Вам будет предложено ввести пароль дважды. Когда вы введете пароль, его видно не будет.

Позже, если вы хотите изменить существующий пароль, просто повторите команду. Точно так же вы можете добавить других пользователей в файл, выполнив приведенную выше команду с другим именем пользователя.

Файл htpasswd представляет собой простой текстовый файл, и вы можете проверить его с помощью текстового редактора. Имена пользователей хранятся как есть, но пароли хешируются и шифруются.

Просмотрите содержимое файла, чтобы убедиться, что учётные данные внесены правильно:

# cat /etc/nginx/htpasswd

Вот файл, в котором есть два пользователя alice и bob:

alice:$apr1$Q9qBLkLy$YQNxI8/GYuHLmoOUkbjN70
 bob:$apr1$5rz0Qz20$Xuo4c3yrZRjkAk89il7Us/

Это пароли пользователей, никому не рассказывайте!

Если вы хотите удалить пользователя из файла, используйте ключ -D следующим образом:

# htpasswd -D /etc/nginx/htpasswd john

5. Создание файла htpasswd с помощью онлайн инструментов.

Если вы не хотите устанавливать дополнительный софт, то можно создать файл воспользовавшись онлайн сервисом, например этим: htaccesstools.com.

Вводим туда необходимые данные:

  • username — желаемое имя пользователя,
  • password — желаемый пароль

И жмем кнопку «Create .htpasswd file».

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

6. Ограничение на каталог.

Теперь откройте файл конфигурации для конкретного сайта с помощью редактора, такого как mcedit.

Рассмотрим на примере центральной конфигурации Nginx /etc/nginx/nginx.conf:

# mcedit /etc/nginx/nginx.conf

Пролистайте файл и найдите блок server. Сделав это, добавьте блок location для пути, который вы хотите защитить. Внутри этого блока вы должны установить имя области и путь к файлу htpasswd.

В приведенном ниже примере мы ограничили доступ ко всему в каталоге /files, и «имя области» установлено как «Restricted«. Имя области отображается браузерами и используется для определения защищенных частей веб-сайта.

server {
 # Many lines of configuration...
 
 location /files {
 auth_basic "любой_ваш_текст_closed_site";
 auth_basic_user_file /etc/nginx/htpasswd;
 }
 }

Если вы хотите защитить другой путь, просто добавьте еще один блок с тем же содержимым:

location /photos {
 # ...
 }

Имейте в виду, что вы можете также использовать другие директивы внутри этих блоков местоположения.

Сохраните файл и выйдите из редактора.

Чтобы эти изменения вступили в силу, вы должны перезагрузить конфигурацию Nginx:

# systemctl restart nginx

7. Ограничение для всего сайта.

А если вы хотите установить ограничение для всего сайта?

Вы можете сделать это, переместив основные директивы аутентификации в блок server:

server {
 # Many lines of configuration...
 
 auth_basic "closed site";
 auth_basic_user_file /etc/nginx/htpasswd;
      }

или так:

location / {
 auth_basic "closed site";
 auth_basic_user_file conf/htpasswd;
 }

Вы также можете пропустить определенные пути, установив для auth_basic значение off в блоке location.

Например, следующий блок позволяет пользователям получить доступ.

location /files {
 auth_basic off;
 }

7.1. Директивы.

Синтаксис: auth_basic строка | off;
 Умолчание: auth_basic off;
 Контекст: http, server, location, limit_except

Включает проверку имени и пароля пользователя по протоколу “HTTP Basic Authentication”. Заданный параметр используется в качестве realm. В значении параметра допустимо использование переменных. Специальное значение off позволяет отменить действие унаследованной с предыдущего уровня конфигурации директивы auth_basic.

Синтаксис: auth_basic_user_file файл;
 Умолчание:Контекст: http, server, location, limit_except

8. Объединение ограничений IP с базовой аутентификацией.

Скажем, у вас есть раздел на вашем сайте, предназначенный для использования сотрудниками компании. Любой сотрудник, обращающийся к веб-серверу из сети, может получить доступ к странице без использования пароля. Однако, если они пытаются получить к нему доступ через Интернет, им следует использовать пароль.

Это означает, что у нас должно быть два ограничения: ограничение IP и директива базовой аутентификации. Мы уже видели, как указать основные директивы аутентификации. IP-адреса могут быть разрешены или заблокированы с помощью директив allow и deny. Кроме того, вы можете указать Nginx выполнить одно из этих условий, используя satisfy any.

Таким образом, блок location может выглядеть примерно так:

location /files {
 satisfy any;
 
 allow 10.2.0.0/16;
 allow 10.3.155.26;
 deny all;
 
 auth_basic "Restricted";
 auth_basic_user_file /etc/nginx/htpasswd;
 }

В приведенном выше примере любой пользователь с IP-адресом 10.2.0.0-10.2.255.255 и 10.3.155.26 допускается без пароля. Для других пользователей мы возвращаемся к базовой аутентификации.

Еще пример:

location / {
 deny 192.168.1.1;
 allow 192.168.1.0/24;
 allow 10.1.1.0/16;
 allow 2001:0db8::/32;
 deny all;
 }

Правила проверяются в порядке их записи до первого соответствия. В данном примере доступ разрешён только для IPv4-сетей 10.1.1.0/16 и 192.168.1.0/24, кроме адреса 192.168.1.1, и для IPv6-сети 2001:0db8::/32.

8.1. Директивы.

Синтаксис: allow адрес | CIDR | unix: | all;
 Умолчание:Контекст: http, server, location, limit_except

Разрешает доступ для указанной сети или адреса. Если указано специальное значение unix:, разрешает доступ для всех UNIX-сокетов.

Синтаксис: deny адрес | CIDR | unix: | all;
 Умолчание:Контекст: http, server, location, limit_except

Запрещает доступ для указанной сети или адреса. Если указано специальное значение unix:, запрещает доступ для всех UNIX-сокетов.

9. Доступ внутри сети, но без доступа вне сети.

Теперь рассмотрим другую ситуацию. Возможно, вы хотите, чтобы сотрудники имели доступ к этим файлам только из сети компании, используя пароль. Сотрудники не должны получать доступ к этим файлам вне сети компании. Это означает, что оба условия должны быть выполнены.

Чтобы внести это изменение, измените any на all:

location /files {
 satisfy all;
 
 # Other directives...
 }

Пример ниже разрешает доступ, если все (all) или хотя бы один (any) из модулей разрешают доступ.

Пример:

location / {
 satisfy any;
 allow 192.168.1.0/32;
 deny all;
 
 auth_basic "closed site";
 auth_basic_user_file conf/htpasswd;
 }
 

9.1. Директивы.

Синтаксис: satisfy all | any;
 Умолчание: satisfy all;
 Контекст: http, server, location

10. Проверка работы htpasswd.

Внимание! Если у вас открылся сайт без окошка авторизации, то просто страница сохранилась в кеше браузера. Перезагрузите страницу с Shift+F5 и увидите приглашение залогиниться. Работает!

Если вы все сделали правильно, то при посещении запароленной папки (раздела на сайте), вы должны увидеть примерно следующее уведомление:

При вводе неправильных данных вы получите стандартное сообщение о 401-й ошибке (несанкционированный доступ, посетитель не авторизован), а при корректных данных — доступ к закрытому разделу сайта.

11. Оригиналы источников информации.

  1. blog.listratenkov.com «Как настроить базовую HTTP-аутентификацию на nginx».
  2. webdevkin.ru «Базовая аутентификация в nginx. Закрываем админку магазина».
  3. sysadmin.ru «Как поставить пароль на сайт или каталог в Nginx».
  4. nginx.org «Модуль ngx_http_auth_basic_module».
  5. nginx.org «Модуль ngx_http_access_module».
  6. nginx.org «Модуль ngx_http_core_module».

Как создать и использовать .htpasswd

  • Клиент Авторизоваться
  • открыто Билет
  • Онлайн-чат
  • Хостинг общий Бизнес Реселлер White Label
  • VPS Управляемый Linux Удалось Windows
    Неуправляемый Linux неуправляемых Windows
  • Облако
  • Преданный
  • Услуги SSL
  • Компания О нас Награды Дата-центров Свяжитесь с нами
  • Служба поддержки Вход для клиентов Открыть билет
  • Вход для клиентов
перейти к содержанию Руководства Hostwinds

Поиск в базе знаний Hostwinds Guides

Поиск Главное руководство Hostwinds ›Общие руководства› cPanel ›Дополнительно› Как создавать и использовать.htpasswd .

Как создать файл паролей Apache, также известный как htpasswd

Чтобы защитить паролем каталог или раздел вашего блога или веб-сайта WordPress, вам необходимо создать файл паролей Apache, более известный как файл htpasswd. В этой статье мы объясним, как создать файл паролей для веб-сервера Apache, который является наиболее популярным веб-сервисом, используемым хостинг-провайдерами. Ниже также приведен снимок экрана с файлом httpasswd Apache, если вам нужно было открыть его с помощью текстового редактора, например Блокнота Microsoft.

Использование инструмента htpasswd для создания файла htpasswd

Htpasswrd - это инструмент, который необходимо использовать для создания файла .htpasswd. Он поставляется практически со всеми дистрибутивами Linux, в которых установлен Apache. Если вы используете Windows, вы можете использовать Xampp. Xampp - это облегченная версия установки веб-сервера Apache и сервера базы данных MySQL в Windows, которую любой веб-мастер может использовать для установки локальной копии блога или веб-сайта WordPress для тестирования. Чтобы получить доступ к инструменту htpasswd для создания файла паролей, перейдите в каталог c: \ xampp \ apache \ bin с помощью командной строки.

Примечание: По умолчанию Xampp установлен в c: \ xampp. Если вы изменили каталог установки по умолчанию, перейдите в [путь установки Xampp] \ apache \ bin. Те же команды и переключатели применимы как к Linux, так и к Windows версии инструмента htpasswd.

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

 Htpasswd –c [имя файла паролей] [имя пользователя] 

Параметр –c означает создание нового файла паролей Apache.[Имя файла паролей] следует изменить на имя файла, который вы хотите создать, а [имя пользователя] следует заменить на имя пользователя, которое вы хотите добавить в файл. Например, если вы хотите создать файл паролей с именем .htpasswd и использовать имя пользователя S3cur3Adm! N, используйте следующую команду:

 Htpasswd –c .htpasswd Secur3Adm! N 

После того, как вы запустите указанную выше команду, инструмент дважды попросит вас указать пароль для пользователя. После того, как вы укажете пароль, будет создан новый файл имени пользователя и пароля Apache, и запись имени пользователя будет добавлена ​​в файл.htpasswd, как показано на скриншоте ниже.

Использование инструмента htpasswd для добавления записей в существующий файл htpasswd

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

Расширенные возможности инструмента htpasswd

По умолчанию htpasswd использует MD5 для шифрования паролей в файлах Apache htpasswd. Используйте любой из следующих переключателей для усиления шифрования:

-d для принудительного шифрования CRYPT файла

-s для принудительного шифрования паролей SHA в файле

Вы можете использовать переключатель –b, чтобы использовать пароль, указанный в командной строке, вместо того, чтобы приложение запрашивало его.

Используйте переключатель –D, чтобы удалить существующих пользователей из файла Apache htpasswd.

Полную документацию по инструменту htpasswd см. В документации Apache hpasswd.

WP White Security Совет по безопасности: В идеале файлы паролей Apache (htpasswd) должны храниться в каталоге, который недоступен через Интернет на случай, если программное обеспечение веб-сервера будет скомпрометировано.

После создания файла htpasswd WordPress для Apache загрузите его на свой веб-сервер и настройте его путь в файле htaccess, который используется для ограничения доступа к определенному месту.Если вы хотите, чтобы мы БЕСПЛАТНО сгенерировали для вас файлы htpasswd, просто напишите нам по электронной почте.

.

htpasswd - Управление файлами пользователя для базовой аутентификации

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

Ресурсы, доступные с HTTP-сервера Apache, могут быть ограничены только пользователи, перечисленные в файлах, созданных htpasswd .Этот программа может управлять только именами пользователей и паролями, хранящимися в плоском файле. Это может шифровать и отображать информацию о пароле для использования в других типах данных магазины, правда. Чтобы использовать базу данных DBM, см. dbmmanage или хтдбм .

htpasswd шифрует пароли с помощью bcrypt, версия MD5, модифицированная для Apache, SHA1 или системы crypt () подпрограмма. Файлы управляемый htpasswd может содержать смесь различных кодировок типы паролей; несколько записи пользователей могут иметь пароли с шифрованием bcrypt или MD5, в то время как другие в тот же файл может иметь пароли, зашифрованные с помощью crypt () .

На этой странице руководства перечислены только аргументы командной строки. Подробнее о директивы, необходимые для настройки аутентификации пользователя в httpd см. Руководство по Apache, которое является частью Дистрибутив Apache или его можно найти на http://httpd.apache.org/.

См. Также

htpasswd [- c ] [- i ] [- м | - B | - d | - с | - p. ] [- C стоимость ] [- D ] [- v ] passwdfile имя пользователя

htpasswd - b [- c ] [- м | - B | - d | - с | - p. ] [- C стоимость ] [- D ] [- v ] passwdfile имя пользователя пароль

htpasswd - n [- i ] [- м | - B | - d | - с | - p. ] [- C стоимость ] имя пользователя

htpasswd - nb [- м | - B | - d | - с | - p. ] [- C стоимость ] имя пользователя пароль

Использовать пакетный режим; и.е. , получите пароль из командной строки вместо того, чтобы побуждать к этому. Этот вариант следует использовать с особой осторожностью, с хорошо виден пароль по команде линия. Для использования сценария см. Параметр -i . Доступно в версии 2.4.4 и новее.
-i
Считать пароль со стандартного ввода без проверки (для использования скрипта).
-c
Создайте файл пароля .Если passwdfile уже существует, он переписан и усечен. Этот вариант нельзя комбинировать с вариант -n .
Показывать результаты в стандартном выводе, а не обновлять файл. Это полезно для создания записей паролей, приемлемых для Apache для включение в нетекстовые хранилища данных. Эта опция изменяет синтаксис командная строка, поскольку аргумент passwdfile (обычно первый один) опущен.Его нельзя комбинировать с опцией -c .
Используйте шифрование MD5 для паролей. Это значение по умолчанию (поскольку версия 2.2.18).
Используйте шифрование bcrypt для паролей. В настоящее время считается будьте очень осторожны.
-C
Этот флаг разрешен только в сочетании с -B (bcrypt шифрование). Он устанавливает время вычисления, используемое для алгоритма bcrypt. (выше - безопаснее, но медленнее, по умолчанию: 5, допустимо: от 4 до 17).
-d
Используйте шифрование crypt () для паролей. Это не поддерживается сервером httpd в Windows и Netware. Этот алгоритм ограничивает длину пароля до 8 символов. Этот алгоритм является небезопасным по сегодняшним меркам. Раньше это был алгоритм по умолчанию до версии 2.2.17.
Используйте шифрование SHA для паролей. Облегчает переход с / на Netscape серверы, использующие формат обмена каталогами LDAP (ldif).Этот алгоритм является небезопасным по сегодняшним меркам.
-п
Используйте пароли в виде открытого текста. Хотя htpasswd будет поддерживать создание на всех платформах, демон httpd будет принимать пароли только в виде обычного текста в Windows и Netware.
-D
Удалить пользователя. Если имя пользователя существует в указанном файле htpasswd, оно будет удален.
-v
Проверьте пароль.Убедитесь, что указанный пароль соответствует паролю пользователя, хранящегося в указанном файле htpasswd. Доступно в версии 2.4.5 и новее.
пароль
Имя файла, содержащего имя пользователя и пароль. Если -c , этот файл создается, если он еще не существует, или переписан и усечен, если он существует.
имя пользователя
Имя пользователя, которое нужно создать или обновить в passwdfile .Если имя пользователя не существует в этом файле, запись добавлена. Если это существует, пароль изменен.
пароль
Открытый текстовый пароль, который необходимо зашифровать и сохранить в файле. Только используется с флагом -b .

htpasswd возвращает нулевой статус («истина»), если имя пользователя и пароль был успешно добавлен или обновлен в пароль . htpasswd возвращает 1 , если он обнаруживает некоторые проблемы с доступом к файлам, 2 , если был синтаксическая проблема с командной строкой, 3 , если пароль был введен интерактивно, и контрольная запись не соответствует, 4 , если его работа была прервана, 5 , если значение слишком длинный (имя пользователя, имя файла, пароль или окончательная вычисленная запись), 6 , если имя пользователя содержит недопустимые символы (см. Раздел ограничений) и 7 если файл не является допустимым файлом паролей.

htpasswd /usr/local/etc/apache/.htpasswd-users jsmith

Добавляет или изменяет пароль для пользователя jsmith . Пользователь запрашивается пароль. Пароль будет зашифрован с помощью модифицированный алгоритм Apache MD5. Если файл не существует, htpasswd не будет делать ничего, кроме возврата ошибки.

htpasswd -c /home/doe/public_html/.htpasswd Джейн

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

htpasswd -db /usr/web/.htpasswd-all jones Pwd4Steve

Шифрует пароль из командной строки ( Pwd4Steve ) используя алгоритм crypt () , и сохраняет его в указанном файл.

файлов веб-паролей, например, управляемых htpasswd , должны , а не , находиться в пространстве URI веб-сервера, то есть они должны нельзя загружать через браузер.

Эта программа небезопасна как исполняемый файл setuid. Делай , а не . setuid.

Использование опции -b не рекомендуется, поскольку Используемый незашифрованный пароль отображается в командной строке.

При использовании алгоритма crypt () обратите внимание, что только первый Для формирования пароля используется 8 символов пароля. Если поставляемый пароль длиннее, лишние символы будут отброшены без уведомления.

Формат шифрования SHA не использует засаливание: для данного пароля есть только одно зашифрованное представление. Склеп () и Форматы MD5 переставляют представление, добавляя случайную строку соли, чтобы усложнить словарные атаки на пароли.

Форматы SHA и crypt () сегодня небезопасны. стандарты.

На платформе Windows пароли, зашифрованные с помощью htpasswd ограничено до 255 символов в длину.Более длинные пароли будут обрезаны до 255 символы.

Алгоритм MD5, используемый htpasswd , специфичен для Apache программного обеспечения; пароли, зашифрованные с его помощью, не будут использоваться с другими веб- серверы.

Имена пользователей ограничены 255 байтами и могут не включать персонаж : .

Стоимость вычисления хеш-значения пароля bcrypt увеличивается с количеством раундов, указанным опцией -C .Библиотека apr-util обеспечивает максимальное количество раундов 17 в версии 1.6.0 и позже.

.

htpasswd - Управление файлами пользователей для базовой аутентификации

Обратите внимание

Этот документ относится к версии Apache httpd 2.2 , которая больше не поддерживается. Здесь задокументирован активный выпуск. Если вы еще не обновились, перейдите по этой ссылке для получения дополнительной информации.

Вы можете перейти по этой ссылке, чтобы перейти к текущей версии этого документа.

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

Ресурсы, доступные с HTTP-сервера Apache, могут быть ограничены только пользователи, перечисленные в файлах, созданных htpasswd . Этот программа может управлять только именами пользователей и паролями, хранящимися в плоском файле. Это может шифровать и отображать информацию о пароле для использования в других типах данных магазины, правда.Чтобы использовать базу данных DBM, см. dbmmanage .

htpasswd шифрует пароли с использованием любой версии MD5 модифицирован для Apache или подпрограммы crypt () системы. Файлы управляемый htpasswd может содержать оба типа паролей; несколько записи пользователей могут иметь пароли, зашифрованные MD5, в то время как другие в том же файле могут иметь пароли, зашифрованные с помощью crypt () .

На этой странице руководства перечислены только аргументы командной строки.Подробнее о директивы, необходимые для настройки аутентификации пользователя в httpd см. Руководство по Apache, которое является частью Дистрибутив Apache или его можно найти на http://httpd.apache.org/.

См. Также

  • httpd
  • Скрипты в поддержке / SHA1, которые поставляются с распространение.

htpasswd [- c ] [- м ] [- D ] passwdfile имя пользователя

htpasswd - b [- c ] [- м | - д | - с. | - с ] [- D ] passwdfile имя пользователя пароль

htpasswd - n [- м | - д | - с | - p ] имя пользователя

htpasswd - nb [- м | - д | - с | - p ] имя пользователя пароль

-b
Использовать пакетный режим; и.е. , получите пароль из командной строки вместо того, чтобы побуждать к этому. Этот вариант следует использовать с особой осторожностью, с пароль хорошо виден по команде линия.
-c
Создайте файл пароля . Если passwdfile уже существует, он переписан и усечен. Этот вариант нельзя комбинировать с вариант -n .
Показывать результаты в стандартном выводе, а не обновлять файл.Это полезно для создания записей паролей, приемлемых для Apache для включение в нетекстовые хранилища данных. Эта опция изменяет синтаксис командная строка, поскольку аргумент passwdfile (обычно первый один) опущен. Его нельзя комбинировать с опцией -c .
Используйте шифрование MD5 для паролей. Это значение по умолчанию (поскольку версия 2.2.18).
-d
Используйте шифрование crypt () для паролей.Это не поддерживается сервером httpd в Windows и Netware и TPF. Этот алгоритм ограничивает длину пароля до 8 символы. Этот алгоритм небезопасен на сегодняшний день. стандарты. Раньше это был алгоритм по умолчанию до версии 2.2.17.
Используйте шифрование SHA для паролей. Облегчает переход с / на Netscape серверы, использующие формат обмена каталогами LDAP (ldif).
-п
Используйте пароли в виде открытого текста.Хотя htpasswd будет поддерживать создание на всех платформах, демон httpd будет принимать пароли в виде обычного текста только в Windows, Netware и TPF.
-D
Удалить пользователя. Если имя пользователя существует в указанном файле htpasswd, оно будет удален.
пароль
Имя файла, содержащего имя пользователя и пароль. Если -c , этот файл создается, если он еще не существует, или переписан и усечен, если он существует.
имя пользователя
Имя пользователя, которое нужно создать или обновить в passwdfile . Если имя пользователя не существует в этом файле, запись добавлена. Если это существует, пароль изменен.
пароль
Открытый текстовый пароль, который нужно зашифровать и сохранить в файле. Только используется с флагом -b .

htpasswd возвращает нулевой статус («истина»), если имя пользователя и пароль был успешно добавлен или обновлен в пароль . htpasswd возвращает 1 , если он обнаруживает некоторые проблемы с доступом к файлам, 2 , если был синтаксическая проблема с командной строкой, 3 , если пароль был введен интерактивно, и контрольная запись не соответствует, 4 , если его работа была прервана, 5 , если значение слишком длинный (имя пользователя, имя файла, пароль или окончательная вычисленная запись), 6 , если имя пользователя содержит недопустимые символы (см. Раздел ограничений) и 7 если файл не является допустимым файлом паролей.

htpasswd /usr/local/etc/apache/.htpasswd-users jsmith

Добавляет или изменяет пароль для пользователя jsmith . Пользователь запрашивается пароль. Пароль будет зашифрован с помощью модифицированный алгоритм Apache MD5. Если файл не существует, htpasswd ничего не сделает, кроме возврата ошибки.

htpasswd -c /home/doe/public_html/.htpasswd Джейн

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

htpasswd -db /usr/web/.htpasswd-all jones Pwd4Steve

Шифрует пароль из командной строки ( Pwd4Steve ) используя алгоритм crypt () , и сохраняет его в указанном файл.

файлов веб-паролей, например, управляемых htpasswd , следует , а не , находиться в пространстве URI веб-сервера, то есть они должны нельзя загружать через браузер.

Эта программа небезопасна как исполняемый файл setuid. Делай , а не . setuid.

Использование опции -b не рекомендуется, поскольку Используемый незашифрованный пароль отображается в командной строке.

При использовании алгоритма crypt () обратите внимание, что только первый Для формирования пароля используется 8 символов пароля. Если поставляемый пароль длиннее, лишние символы будут отброшены без уведомления.

Формат шифрования SHA не использует засаливание: для данного пароля есть только одно зашифрованное представление. Склеп () и Форматы MD5 переставляют представление, добавляя случайную строку соли, чтобы усложнить словарные атаки на пароли.

На платформах Windows и MPE пароли, зашифрованные с помощью htpasswd ограничено не более 255 символов в длину. Более длинные пароли будут обрезаны до 255 символы.

Алгоритм MD5, используемый htpasswd , специфичен для Apache программного обеспечения; пароли, зашифрованные с его помощью, не будут использоваться с другими веб- серверы.

Имена пользователей ограничены 255 байтами и могут не включать персонаж : .

.

htpasswd - Управление файлами пользователя для базовой аутентификации

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

Ресурсы, доступные с HTTP-сервера Apache, могут быть ограничены только пользователи, перечисленные в файлах, созданных htpasswd .Этот программа может управлять только именами пользователей и паролями, хранящимися в плоском файле. Это может хешировать и отображать информацию о пароле для использования в других типах данных магазины, правда. Чтобы использовать базу данных DBM, см. dbmmanage или хтдбм .

htpasswd хеширует пароли, используя bcrypt, a версия MD5, модифицированная для Apache, SHA-1 или системы crypt () подпрограмма. Хэши на основе SHA-2 (SHA-256 и SHA-512) поддерживаются для crypt () .Файлы, управляемые htpasswd может содержать смесь различных кодировок типы паролей; некоторые пользовательские записи могут иметь bcrypt или MD5-хешированные пароли, в то время как другие пароли в том же файле могут иметь пароли, хешированные с помощью crypt () .

На этой странице руководства перечислены только аргументы командной строки. Подробнее о директивы, необходимые для настройки аутентификации пользователя в httpd см. Руководство по Apache, которое является частью Дистрибутив Apache или его можно найти по адресу http: // httpd.apache.org/.

htpasswd [- c ] [- i ] [- м | - B | - 2 | - 5 | - d | - с | - p. ] [- r патронов ] [- C стоимость ] [- D ] [- v ] passwdfile имя пользователя

htpasswd - b [- c ] [- м | - B | - 2 | - 5 | - d | - с | - p. ] [- r патронов ] [- C стоимость ] [- D ] [- v ] passwdfile имя пользователя пароль

htpasswd - n [- i ] [- м | - B | - 2 | - 5 | - d | - с | - p. ] [- r патронов ] [- C стоимость ] имя пользователя

htpasswd - nb [- м | - B | - 2 | - 5 | - d | - с | - p. ] [- r патронов ] [- C стоимость ] имя пользователя пароль

Использовать пакетный режим; и.е. , получите пароль из командной строки вместо того, чтобы побуждать к этому. Этот вариант следует использовать с особой осторожностью, с пароль хорошо виден по команде линия. Для использования сценария см. Параметр -i .
Доступно в версии 2.4.4 и новее.
-i
Считать пароль со стандартного ввода без проверки (для использования скрипта).
-c
Создайте файл пароля .Если passwdfile уже существует, он переписан и усечен. Этот вариант нельзя комбинировать с вариант -n .
Показывать результаты в стандартном выводе, а не обновлять файл. Это полезно для создания записей паролей, приемлемых для Apache для включение в нетекстовые хранилища данных. Эта опция изменяет синтаксис командная строка, поскольку аргумент passwdfile (обычно первый один) опущен.Его нельзя комбинировать с опцией -c .
Использовать хеширование MD5 для паролей. Это значение по умолчанию (поскольку версия 2.2.18).
-2
Используйте хэши на основе SHA-256 crypt () для паролей. Это поддерживается на большинстве платформ Unix.
-5
Используйте хэши на основе SHA-512 crypt () для паролей. Это поддерживается на большинстве платформ Unix.
Использовать хеширование bcrypt для паролей. В настоящее время считается будьте очень осторожны.
-C
Этот флаг разрешен только в сочетании с -B (bcrypt хеширование). Он устанавливает время вычисления, используемое для алгоритма bcrypt. (выше - безопаснее, но медленнее, по умолчанию: 5, допустимо: от 4 до 17).
-r
Этот флаг разрешен только в сочетании с -2 или -5 .Он устанавливает количество раундов хеширования, используемых для Алгоритмы SHA-2 (выше - безопаснее, но медленнее; по умолчанию 5000).
-d
Используйте хеширование crypt () для паролей. Это не поддерживается сервером httpd в Windows и Netware. Этот алгоритм ограничивает длину пароля до 8 символов. Этот алгоритм небезопасный по сегодняшним меркам. Раньше это был алгоритм по умолчанию до версии 2.2.17.
Использовать хеширование SHA-1 (160 бит) для паролей. Облегчает миграцию с / на серверы Netscape с помощью LDAP Directory Interchange Формат (ldif). Этот алгоритм небезопасен по сегодняшние стандарты.
-п
Используйте пароли в виде открытого текста. Хотя htpasswd будет поддерживать создание на всех платформах, демон httpd будет принимать пароли только в виде обычного текста в Windows и Netware.
-D
Удалить пользователя. Если имя пользователя существует в указанном файле htpasswd, оно будет удален.
-v
Подтвердите пароль. Убедитесь, что указанный пароль соответствует паролю пользователя, хранящегося в указанном файле htpasswd.
Доступно в версии 2.4.5 и новее.
пароль
Имя файла, содержащего имя пользователя и пароль. Если -c , этот файл создается, если он еще не существует, или переписан и усечен, если он существует.
имя пользователя
Имя пользователя, которое нужно создать или обновить в passwdfile . Если имя пользователя не существует в этом файле, запись добавлена. Если это существует, пароль изменен.
пароль
Открытый текстовый пароль, который нужно хешировать и хранить в файле. Только используется с флагом -b .

htpasswd возвращает нулевой статус («истина»), если имя пользователя и пароль был успешно добавлен или обновлен в пароль . htpasswd возвращает 1 , если он обнаруживает некоторые проблемы с доступом к файлам, 2 , если был синтаксическая проблема с командной строкой, 3 , если пароль был введен интерактивно, и контрольная запись не соответствует, 4 , если его работа была прервана, 5 , если значение слишком длинный (имя пользователя, имя файла, пароль или окончательная вычисленная запись), 6 , если имя пользователя содержит недопустимые символы (см. Раздел ограничений) и 7 если файл не является допустимым файлом паролей.

htpasswd /usr/local/etc/apache/.htpasswd-users jsmith

Добавляет или изменяет пароль для пользователя jsmith . Пользователь запрашивается пароль. Пароль будет хеширован с использованием модифицированный алгоритм Apache MD5. Если файл не существует, htpasswd не будет делать ничего, кроме возврата ошибки.

htpasswd -c /home/doe/public_html/.htpasswd Джейн

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

htpasswd -db /usr/web/.htpasswd-all jones Pwd4Steve

Шифрует пароль из командной строки ( Pwd4Steve ) используя алгоритм crypt () , и сохраняет его в указанном файл.

файлов веб-паролей, например, управляемых htpasswd , должны , а не , находиться в пространстве URI веб-сервера, то есть они должны нельзя загружать через браузер.

Эта программа небезопасна как исполняемый файл setuid. Сделайте , а не . setuid.

Использование опции -b не рекомендуется, поскольку Используемый текстовый пароль отображается в командной строке.

При использовании алгоритма crypt () обратите внимание, что только первый Для формирования пароля используется 8 символов пароля. Если поставляемый пароль длиннее, лишние символы будут отброшены без уведомления.

Формат хеширования SHA-1 не использует засаливание: для данного пароль, есть только одно хешированное представление. В crypt () Форматы и MD5 переставляют представление добавление случайной строки соли для атаки по словарю с паролями сложнее.

Форматы SHA-1 и crypt () небезопасны из-за сегодняшние стандарты.

Форматы crypt () на основе SHA-2 (SHA-256 и SHA-512) поддерживаются в большинстве современных систем Unix и соответствуют спецификация на https: // www.akkadia.org/drepper/SHA-crypt.txt.

На платформе Windows пароли хешируются с htpasswd ограничено до 255 символов в длину. Более длинные пароли будут обрезаны до 255 символы.

Алгоритм MD5, используемый htpasswd , специфичен для Apache программного обеспечения; пароли, хешированные с его помощью, не будут использоваться с другими веб-сайтами. серверы.

Имена пользователей ограничены 255 байтами и могут не включать персонаж : .

Стоимость вычисления хеш-значения пароля bcrypt увеличивается с количеством раундов, указанным опцией -C . Библиотека apr-util обеспечивает максимальное количество раундов 17 в версии 1.6.0 и позже.

.

.htpasswd - как сгенерировать хеш, подобный apache htpasswd, используя java

Переполнение стека
  1. Около
  2. Продукты
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
.

Смотрите также