+7 495 248-19-01 8 800 555 73 01
8 495 137 07 55
 ←  контактный центр
Услуги
#BLOCK_2#
Ответы
на вопросы

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

Для этого вам нужно, воспользовавшись 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. 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 не смогут получить доступ к каталогу.
Виртуальный Дата-Центр (IAAS)
#BLOCK_6#
Регистрация доменов
#BLOCK_485#
О компании
#BLOCK_486#
Контакты
#BLOCK_489#
Партнеры
#BLOCK_496#
Оплата услуг
#BLOCK_498#
Документы
#BLOCK_499#
Словарь
терминов
#BLOCK_500#
Рейтинг@Mail.ru