Книга: Linux глазами хакера
7.5.2. Файлы паролей
7.5.2. Файлы паролей
Теперь нам предстоит узнать, как создаются файлы паролей и как ими управлять. Директива AuthUserFile
для хранения информации об авторизации использует простой текстовый файл, в котором содержатся строки следующего вида:
flenov:{SHA}lZZEBt.Py4/gdHsyztjUEWb0d90E=
В этой записи два параметра, разделенных двоеточием. Сначала указано имя пользователя, а после разделителя — зашифрованный по алгоритму MD5 пароль. Формировать такой файл вручную сложно и не имеет смысла, поэтому для облегчения жизни администраторов есть утилита htpasswd. С помощью этой программы создаются и обновляются имена и пароли для базовой аутентификации Web-сервером HTTP-пользователей.
Удобство программы состоит в том, что она может шифровать пароли и по алгоритму MD5, и с помощью системной функции crypt()
. В одном файле могут находиться записи с паролями обоих типов.
Если вы храните имена и пароли в формате базы данных DBM (для указания этого в файле .htaccess используется директива AuthDBMUserFile
), то для управления БД нужно применять команду dbmmanage
.
Давайте рассмотрим, как пользоваться программой htpasswd. Общий вид вызова команды выглядит следующим образом:
htpasswd параметры файл имя пароль
Пароль и имя файла являются необязательными, и их наличие зависит от указанных опций. Давайте посмотрим основные ключи, которые нам доступны:
? -c
— создать новый файл. Если указанный файл уже существует, то он перезаписывается, и старое содержимое теряется. Пример использования команды:
htpasswd -c .htaccess robert
После выполнения этой директивы перед вами появится приглашение ввести пароль для нового пользователя robert и подтвердить его. В результате будет создан файл .htaccess, в котором будет одна запись для пользователя robert с указанным вами паролем;
? -m
— использовать модифицированный Apache алгоритм MD5 для паролей. Это позволит переносить созданный файл на любую другую платформу (Windows, Unix, BeOS и т.д.), где работает Web-сервер Apache. Такой ключ удобен, если у вас разнородная сеть, и один файл с паролями используется на разных серверах;
? -d
— для шифрования будет применяться системная функция crypt()
;
? -s
— применить SHA-шифрование (на базе алгоритма хэширования), которое используется на платформе Netscape;
? -р
— не шифровать пароли. Я не рекомендую устанавливать этот флаг, потому что он небезопасен;
? -n
— не вносить никаких изменений, а только вывести результат на экран.
Для добавления нового пользователя можно выполнить команду без указания ключей, а передать в качестве параметров только имена файла и пользователя:
htpasswd .htaccess Flenov
У команды htpasswd есть два ограничения: в имени пользователя не должно быть символа двоеточия, и пароль не может превышать 255 символов. Оба условия достаточно демократичны и с ними можно смириться. Из моих знакомых такой длинный пароль пока еще никто не захотел устанавливать, а задавать имя пользователя с двоеточием редко кому приходит на ум.
- 7.5.1. Файлы .htaccess
- Файлы базы данных InterBase
- Файлы *.GDB изнутри
- 12.2. Файлы конфигураци исервера
- Как вернуть случайно удаленные файлы?
- Как записать файлы на компакт-диск?
- Как сделать, чтобы в папке сначала отображались самые новые файлы?
- Перемещать файлы удобнее, если запустить два экземпляра Проводника и разместить их окна бок о бок. Можно ли это делать а...
- Файлы без расширения, как правило, текстовые. Как сделать, чтобы при двойном щелчке кнопкой мыши они открывались в Блокн...
- На установочном диске Windows много файлов с расширением CAB. Что это за файлы?
- Как сохранить все файлы при переустановке?
- При попытке войти в систему Пользователю1 выдается предупреждение, что загрузился временный профиль и все сделанные изме...