на вопросы
Как закрыть доступ к отдельным каталогам моего виртуального сервера?
- Инфраструктура
- Документы
- Оплата услуг
- Безопасность платежей
- Партнерская программа
- Вебинары
- Словарь терминов
- Контакты
- Инструкции и ответы на вопросы
Для этого вам нужно, воспользовавшись 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:<ввожу пароль, но он не отображается>
Re-type new password:<еще раз тот же пароль>
Adding password for user boss
bash-2.05$
Теперь доступ к URL http://www.topsecret.ru/zuppazecret/ имеет только пользователи chief и boss.
bash-2.05$ exit
Важные замечания:
chief:qmFw30vhabUaM
boss:W0vQtyqwOojxU
После неправильной передачи его на сервер он примет следующий вид:
chief:qmFw30vhabUaM^M
boss:W0vQtyqwOojxU^M
Т. е. к каждой строке добавился лишний специальный символ. В результате этого пользователи boss и chief не смогут получить доступ к каталогу.
терминов