Перейти к содержанию

Перлу для юзеров - прикрыть корень сервера


Рекомендуемые сообщения

Привет всем!

Проблема такая!

Стоит РНР 3 версии

и Перл 5

Для РНР достаточно прописать $DOCUMENT_ROOT

и назначить этому делу какую-либо директорию

А как сделать это для Перла?

Может кто сталкивался.

Вообщем необходимо закрыть доступ пользовательского скрипта и для чтения и для записи в корень или выше лежащие скрипта директории.

Буду весьма благодарен

Ссылка на комментарий
Поделиться на другие сайты

  • 2 месяца спустя...

Если Я правильно понял вопрос, нужно из Perl скрипта закрыть доступ выше директории, в которой он лежит?! Под Unix/Linux это можно сделать так (под Win это впринципе (похоже) сделать нельзя): каждый процесс в Unix/Linux имеет два указателя на файлы директории (на текущую и на корень). Смена этих указателей осуществляется посредством системных вызовов chroot и chdir (В Perl под [unix|Linux]'ом есть соответствующие команды chroot и chdir, а вот под Win chroot не реализована (по вполне понятным причинам)). Когда корень изменяется в текущем процессе, он вообще забывает (только текущий процесс и все им порожденные) о директориях выше корня (обратно сменить корень, если не запоминать его перед этим, нельзя)! За более детальными разъяснениями see: "man perlfunc" и раздел chroot соответственно. Да, чуть не забыл предупредить, для безопасности chroot может сделать только root, но если Вы не root, с хорошим root'ом всегда можно договориться, чтобы он "подписал" собой shell-script с правами 0100 хотя бы Wink), из которого будет запущен perl-программа (тогда в программе вообще ничего делать не надо)! Очень извиняюсь за корявость языка, грамматисеские ошибки и очепятки! И вообще не знаю, нужен ли этот ответ (вопрос-то задан 1.08 Wink )

Пример:

chroot '/home/avcnet/myCGI/'; # Выполнится только под root!!

chdir ROOT_HANDL, '/'; # Директория будет /home/avc/myCGI/

chdir B_HANDL, '../../'; # Всё равно будет /home/avc/myCGI/

chdir E_HANDL, '/home/' # Если надеешся перейти в home от

# старого корня - зря!!! Wink)

Good luck!

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...