Forum Webscript.Ru
Общие => Веб-технологии => Тема начата: VladimirSV от 10 Сентября 2005, 19:11:06
-
Подскажите пожалуйста как организовать загрузку файлов для конкретного пользователя через HTTP?
"Проблема" в перемещение загруженного файла в домашний каталог пользователя. Сервер не имеет прав на домашний каталог.
Очень интересно как это делаеться, например на http://www.chat.ru. Не похоже вроде на виртуальные хосты...
-
Наверное бальшой бальшой профессиональный секрет :)
-
VladimirSV:
Сервер не имеет прав на домашний каталог.
Это как?
-
Сервер не имеет прав писать в домашний каталог.
Сервер работает например от apache:apache. Каталог пользователя может читать группа apache, а писать туда только сам пользователь.
-
VladimirSV:
Каталог пользователя может читать группа apache, а писать туда только сам пользователь.
Поменяйте права на каталог, чтобы писать туда могла группа.
-
Но тогда все пользователи входящие в группу смогут друг дружке эээ сюрпризы делать :)
-
а вы ограничте работу пользовательских скриптов каталогом пользователя. Вот знакомый админ подсказывает, что копать надо в сторону safe_mode и open_basedir.
-
VladimirSV:
Не похоже вроде на виртуальные хосты
как раз через них и делается.
-
Croaker
А у пользователя еще и шел есть :(
ThE0ReTiC
Но, как я понял, при добавление нового пользовователя придеться серевер перезагружать?
-
VladimirSV:
А у пользователя еще и шел есть
И какая у него группа, когда он под шелом заходит?
-
Croaker
О! Спасибо! Я почему то включал всех пользователей этого дела в группу apache.... А не скажете, такое решение где нибудь работает?
Только вот сейчас зашел шелом на http://www.h11.ru и обнаружил там такую картинку: пользователь находиться в некой группе, а другая группа имеет права на "запуск" домашнего каталога. Причом только на "запуск"...
-
VladimirSV
1. Работаем на многих хостингах.
2. А что такое - запуск?
-
Croaker
"Запуск" - это "выполнение" я так обозвал ... Execute...
-
ThE0ReTiC
Не подумайте дурного, под "сервер перезагружать" я имел в виду - рестартовать апач.
-
VladimirSV
Фиг знает. Я не админ, поэтому могу только предположить, что apache стартуется от определенного пользователя, админа какого-нидь, поэтому у него стоит и группа соответствующая. Скрипты же бегают из под пользователя apache или nobody, чтобы пользователи могли этими скриптами управлять. Но кто ж пользователю даст права на управление сервером?
-
Croaker
Ну да ... Стартует от суперпользователя, и порождает еще несколько себя но уже от пользователя заданного в конфиге.
При использование виртуальных хостов, как я понял, можно настраивать для каждого ээ "экземпляра", наверное так лучше сказать, теже параметры что и для всего сервера... Но нужно менять конфиг и следовательно рестартовать апач...
Я тоже не админ, просто развернул эти дела для отладки, стал пробовать скриптики и вот столкнулся...
-
Если я не ошибаюсь, при изменении конфига можно заставить апач не рестартоваться, а просто перечитывать конфиг.
killall -HUP httpd
-
Croaker
Да действительно...
Да же через service
service httpd reload
Похоже на то...
Спасибо большое.
Правда я сначала искал ответа типа: Вот мы тут используем виртуальные хосты, такое то время с такой то нагрузкой. А мы вот ... ну не знаю ... там sudo построили, и копируем шел скриптом :) Помоему это как раз называеться "технология"..
Буду пробовать ... Спасибо еще раз...