Меню Рубрики

Linux как создать htpasswd

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

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

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

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

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

Обратите внимание что файлы .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.

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

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

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

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

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

Источник

Как создать .htpasswd

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

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

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

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

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

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

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.

Источник

On-line журнал o Linux

.htaccess и .htpasswd — защита доступа

Используем файлы .htaccess и .htpasswd и для установки пароля на доступ к определенным страницам или разделам вашего сайта.
Для начало создаем в нужном подкаталоге файл .htaccess, в который пишем следующее:
AuthType Basic
AuthName «Access is Denied. Enter password»
AuthUserFile /path_to_file/.passwords

  • Require valid-user

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

    Подробную информацию об использывании можно почитать Manual Page: htpasswd или покурить man, так же достаточно запустив htpasswd в unix shell:
    $ htpasswd
    Usage:
    htpasswd [-cmdpsD] passwordfile username
    htpasswd -b[cmdpsD] passwordfile username passwordhtpasswd -n[mdps] username
    htpasswd -nb[mdps] username password
    -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.
    .
    Итак, у нас еще нет файла с паролями и нам нужно его создать :
    $ htpasswd -c .passwords test
    New password:
    Re-type new password:
    Adding password for user test
    После этого создастся файл .passwords, в котором окажется пользователь test и его пароль в зашифрованном виде:
    $ cat .passwords
    test:WE.MwmyNsIG76
    А теперь мы хотим добавить еще одного пользователя. Так как файл с паролями у нас уже есть, мы просто не будем использовать ключ ‘-c’ :
    $ htpasswd .passwords test1
    New password:
    Re-type new password:
    Adding password for user test1
    $ cat .passwords
    test:WE.MwmyNsIG76
    test1:Eeg7zFPfq32BM
    В качестве параметра к директиве require мы указали valid-user. Это означает, что любой пользователь, который есть в используемом файле с паролями, может иметь доступ к защищенному ресурсу. Однако, согласитесь, удобно иметь все пароли в одном файле, а права на конкретные ресурсы давать только определенным пользователям.
    Для этого покажем на напримере, даем доступ только пользователю test:

    AuthType Basic
    AuthName «Access is Denied. Enter password»
    AuthUserFile /path_to_file/.passwords

  • Require user test

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

    В файле groups создаем группы примерно так :
    group1: user1 user3
    group2: user2 user4
    group3: user1 user3
    Соответственно, директиву require будем использовать так :

    AuthType Basic
    AuthName «Access is Denied. Enter password»
    AuthGroupFile /path_to_file/groups
    AuthUserFile /path_to_file/.passwords

    Require user test
    Require group group1

    Источник

    Linux Apache: базовая защита сайтов (хостов)

    Всех категорически приветствую!

    Это предпоследняя заметка из цикла о базовой настройке web-сервера, и в ней разберем такие инструменты, как .htaсcess и .htpasswd.

    Вариантов и целей использования этих инструментов множество, я разберу лишь следующие (которые нужны чаще всего мне, во всяком случае):

    • ограничения доступа по IP-адресам (подсетям);
    • редирект;
    • авторизация на странице.

    Что такое .htaccess и .htpasswd

    .htaccess – это файл дополнительной конфигурации Apache, при помощи которого дифференцированно можно задавать дополнительные правила или точечно снимать глобальные ограничения; располагается в требуемой директории сайта; распространяет правила на все вложенные файлы и каталоги; путь к начальному каталогу задается в конфиге хоста;

    .htpasswd – файл, говорящий сам за себя; хранит авторизационные данные, а именно логин (в открытом виде) и пароль (в виде хеша MD5); генерируется при помощи утилиты «htpasswd»; располагать его желательно в месте, закрытом от чужих глаз (например, где-нибудь в директории «/var/www/myhtpasswd/.htpasswd»).

    .htaccess и .htpasswd – это просто общепринятые названия файлов. На самом деле, обозвать их можно как душе угодно ( только придется немного подправить конфиг apache, что позволяет далеко не каждый хостинг, если вы пользуетесь услугами таковых ). Точку в начале имени тоже желательно оставить – все-таки лучше, чтобы файлы с описанием параметров безопасности были скрытыми. Почему скрытыми? Ну, вы же не вывешиваете на стену пароли от своих соц.сетей, когда к вам приезжают гости… да и в ином случае вряд ли вывешиваете, потому что это просто тупо.

    Настройка Apache и хостов для работы с .htaccess

    Если вы решили использовать имя файла, отличное от .htaccess (например, .myhtrules), то нужно сходить в конфиг apache «/etc/apache2/apache2.conf» и поменять параметры:

    • «AccessFileName .htaccess» на «AccessFileName .myhtrules»
    • « » на « »

    Первый параметр определяет имя файла с дополнительными правилами, а второй – запрещает показ всех файлов, имя которых начинается с «.myht».

    После изменения конфига apache надо перезапустить:

    Я имена файлов и конфигурацию не меняю, и далее буду работать с классическими .htaccess и .htpasswd.

    Теперь поднастроим конфиг хоста.

    Пусть у нас это будет первый хост с сайтом test-site1.ru (если непонятно откуда взялся test-site1.ru, то читайте статью о настройке виртуальных хостов ).

    Открываем конфиг хоста «/etc/apahce2/sites-available/tsite1ru.conf» (готовый конфиг взять можно ТУТ ) и наблюдаем следующий раздел, отвечающий за работу с файлом .htaccess:

    Используя директиву «Directory», задавайте путь относительно корня файловой системы сервака. Еще имеется директива « », которая задает путь относительно корня виртуального хоста (таковым в конфиге хоста является значение директивы «Document Root»)

    В моем конфиге задан путь к корню виртуального хоста «/var/www/html/tsite1ru». Это говорит о том, что Apache будет искать файлик .htaccess начиная именно с корневого каталога хоста. Это нужно далеко не всегда, и путь можно указать, например, для какой-нибудь субдиректории (админки сайта).

    Про директиву «Options» можно почитать ТУТ . Разжевывать не буду.

    Директива «AllowOverride» имеет значение «All» — это значит, что Apache будет считывать все директивы из файла .htaccess. Если директива «AllowOverride» будет иметь значение «None», то директивы в .htaccess будет игнорироваться.

    Эксперименты с .htaccess

    Хотелось бы оговориться: под выражением «запретить/разрешить доступ к сайту, или к отдельным страницам сайта, или к отдельным файлам сайта» имеется ввиду «запретить/разрешить доступ к определенным директориям и файлам хоста (виртуального или физического – не важно)». Правила применяются именно к директориям и файлам, а не к какой-то хреновине, под названием «сайт».

    Эксперимент первый. .htaccess в корне хоста (сайта)

    1) разрешить доступ на сайт только с двух IP-адресов;

    2) разрешить доступ на сайт с определенных подсетей;

    3) запретить доступ на сайт только с двух IP-адресов;

    4) запретить доступ на сайт только с определенных подсетей;

    Формализуем первые две задачи: необходимо запретить доступ всем, кроме допущенных.

    Формализуем вторые две задачи: догадались, думаю – разрешить доступ всем, кроме нежелательных.

    Для реализации этих двух блоков задач имеются следующие наборы директив:

    Логика работы такая:

    • серверу сказано, что правила нужно обработать в порядке сначала Deny (отказать), потом Allow (разрешить);
    • следом идет правило «Deny from all», которое означает «отказать всем» и которое сервер, согласно установленному порядку, обработает первым; иными словами – «все, кто, пришел, сначала будут забанены»;
    • затем идет правило перечисления допущенных «Allow from значение», которое сервер будет обрабатывать уже после правила «Deny»; по-русски — «из забаненных пустить только избранных».

    Итак, в корне хоста (сайта) создадим файлик .htaccess:

    Источник

  • Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Выбор диска при загрузке mac os
  • Выбор диска для загрузки mac os
  • Выбор вариантов загрузки mac os
  • Вход без пароля mac os
  • Второй монитор mac os