Rambler's Top100
Вход в Персональный кабинет

Имя пользователя

Пароль

Начальная страница
Телекоммуникационная компания «Караван» - оператор связи, провайдер интернет. Офисная
телефония. Телефония Москва, телефонные линии, интернет телефония, передача данных.

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

Для этого вам нужно, воспользовавшись Unix-shell, создать несколько файлов. Один из них должен называться .htaccess (имя файла должно начинаться с точки). Его вы можете сделать заранее на своем компьютере. Этот файл должен находиться в том каталоге вашего сервера, который вы хотите закрыть. Второй файл называется .htpasswd. В нем содержатся непосредственно пары логин/пароль ваших пользователей. Этот файл проще всего создать непосредственно на сервере.

Пример таких действий

Предположим я — администратор сервера www.topsecret.ru. У меня есть логин для FTP-доступа (topsecret) и пароль. Я хочу чтобы доступ по http к URL http://www.topsecret.ru/zuppazecret/ могли получить только уполномоченные на то пользователи.

Последовательность действий

На своем компьютере я создаю файл .htaccess со следующим содержимым.
AuthUserFile /home/www/htdocs/.htpasswd
AuthGroupFile /dev/null
AuthName TopSecretInfo
(обратите внимание, аргументом директивы AuthName должно быть одно слово. пробелы исключены)
AuthType Basic
require valid-user

После этого я с помощью FTP-клиента помещаю его в каталог
/htdocs/zuppazecret/.

Далее с помощью программы ssh я соединяюсь с сервером topsecret.ru. Чтобы создать файл паролей, указанный в директиве AuthUserFile я делаю следующее:
bash-2.05$ cd /home/www/htdocs/zuppazecret/
bash-2.05$ /usr/local/apache/bin/htpasswd -c .htpasswd chief
New password:<ввожу пароль, но он не отображается>
Re-type new password:<еще раз тот же пароль>
Adding password for user chief
bash-2.05$

Теперь доступ к каталогу, в который я поместил файл .htaccess имеет только пользователь chief с только что введенным паролем. Чтобы добавить пользователя нужно еще раз запустить программу htpasswd но без ключа -c (он используется только для создания файла паролей).
bash-2.05$ /usr/local/apache/bin/htpasswd .htpasswd boss
New password:&lt;ввожу пароль, но он не отображается&gt;
Re-type new password:&lt;еще раз тот же пароль&gt;
Adding password for user boss
bash-2.05$

Теперь доступ к URL http://www.topsecret.ru/zuppazecret/ имеет только пользователи chief и boss.

bash-2.05$ exit

Важные замечания:

  • Файлы паролей должны начинаться на “.ht”. Т. е. файл может называться .htpasswd, .htsuperpass или даже .htsuper-puper-secret-pass-list. Дело в том, получение с сервера файлов, названия которых начинаются на .ht заблокировано со стороны сервера. Это значит, что злоумышленник, набрав в браузере адрес http://www.topsecret.ru/.htpasswd, не получит на экране содержимое этого файла. Тогда как если вы, например, назвали этот файл passwords, то злоумышленник, зная по каким-то причинам название этого файла, может беспрепятственно получить его и, возможно, с помощью специальных программ узнать подходящие пары логин/пароль. Таким образом использование файлов .ht* повышает безопасность вашего сервера.
  • Возможно вы предпочитаете работать с сайтом на вашем компьютере. У вас установлен локальный web-сервер apache, и вы сначала проверяете функциональность сайта на локальной машине и только потом вносите изменения на сервере. Вы можете создать и локальный файл .htpasswd. В этом случае, особенно если вы используете win32-ОС, при передаче файла с паролями на сервер используйте т.н. ASCII-режим передачи (во многих FTP-клиентах он фигурирует как TEXT-mode). Дело в том, что в разных операционных системах используются разные комбинации символов перевода строки. Вот пример файла .htpasswd на вашем компьютере, работающем под управлением, например, Windows ME
    chief:qmFw30vhabUaM
    boss:W0vQtyqwOojxU


    После неправильной передачи его на сервер он примет следующий вид:
    chief:qmFw30vhabUaM^M
    boss:W0vQtyqwOojxU^M


    Т. е. к каждой строке добавился лишний специальный символ. В результате этого пользователи boss и chief не смогут получить доступ к каталогу.



2-й Обыденский пер., д. 12а, Москва, Россия, 119034
Телефон: +7 495 363-2252. Техническая поддержка: +7 495 721-1388
Схема проезда

Электронная почта: info@caravan.ru


Rambler's Top100