Apache. Документация на русском


Разделы:   1    2    3    4    5    6    7      8      9    10    11    12    13    14    15    16  

Раздел 8. HTTP-сервер Apache и вспомогательные программы

Пункты:   63    64    65    66    67    68    69    70    71    72      73      74    75    76    77    78    79  

 <         > 
  RU            EN  

Пункт 73. Страница руководства: htpasswd

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

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

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

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

Синопсис

htpasswd [ -c ] [ -i ] [ -m | -B | -d | -s | -p ] [ -C cost ] [ -D ] [ -v ] passwdfile username

htpasswd -b [ -c ] [ -m | -B | -d | -s | -p ] [ -C cost ] [ -D ] [ -v ] passwdfile username password

htpasswd -n [ -i ] [ -m | -B | -d | -s | -p ] [ -C cost ] username

htpasswd -nb [ -m | -B | -d | -s | -p ] [ -C cost ] username password

Параметры

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

Выход из состояния

htpasswd возвращает нулевой статус ("true"), если имя пользователя и пароль были успешно добавлены или обновлены в файле passwd . 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

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

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

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

Вопросы безопасности

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

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

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

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

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

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

Ограничения

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

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

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



 <         > 

Пункты:   63    64    65    66    67    68    69    70    71    72      73      74    75    76    77    78    79  

Рейтинг@Mail.ru