shared hosting - разграничение прав
- tes+or
- Неотъемлемая часть форума
- Сообщения: 535
- Зарегистрирован: 16 дек 2004, 17:47
- Откуда: minsk
- Контактная информация:
shared hosting - разграничение прав
проблема выглядит неразрешимой..
мы имеем множество юзерских дир, где лежат htdocs с разрешенными на выполнение php скриптами, и это как минимум.
каждый юзер имеет доступ только к своей дире, к другим он не имеет доступа даже на чтение - это выполнимо.
но! апач должен иметь доступ ко всем файлам как минимум на чтение, а обычно на выполнение и в отдельных случаях на запись.
что это значит. это значит что установив у себя вебшелл, или хотябы даже сделав в пхп скрипте fopen(../../sosed/htdocs/mysql_conf.php) юзер тырит у соседа все что угодно, в т.ч. пассы к мускулу, а это уже открывает пути для дальнейших оч серьезных злодейств.
единственный путь этого избежать, как мне видится, это сделать так, чтобы в зависимости от того, с каким vhostом работает апач, он принимал права соотвествующего юзера и от них исполнял этот скрипт. я был бы очень счастлив если бы это было возможно, поскольку не помогает даже запуск апача каждым из юзеров, т.е. адресс и порт один, а апачей много.
и вирутальные машины не катят, нехочу платить за диапазон, а если и платить, то в другом проекте, сейчас я задумал бесплатный шаред для некоторых категорий людей.
мы имеем множество юзерских дир, где лежат htdocs с разрешенными на выполнение php скриптами, и это как минимум.
каждый юзер имеет доступ только к своей дире, к другим он не имеет доступа даже на чтение - это выполнимо.
но! апач должен иметь доступ ко всем файлам как минимум на чтение, а обычно на выполнение и в отдельных случаях на запись.
что это значит. это значит что установив у себя вебшелл, или хотябы даже сделав в пхп скрипте fopen(../../sosed/htdocs/mysql_conf.php) юзер тырит у соседа все что угодно, в т.ч. пассы к мускулу, а это уже открывает пути для дальнейших оч серьезных злодейств.
единственный путь этого избежать, как мне видится, это сделать так, чтобы в зависимости от того, с каким vhostом работает апач, он принимал права соотвествующего юзера и от них исполнял этот скрипт. я был бы очень счастлив если бы это было возможно, поскольку не помогает даже запуск апача каждым из юзеров, т.е. адресс и порт один, а апачей много.
и вирутальные машины не катят, нехочу платить за диапазон, а если и платить, то в другом проекте, сейчас я задумал бесплатный шаред для некоторых категорий людей.
- tes+or
- Неотъемлемая часть форума
- Сообщения: 535
- Зарегистрирован: 16 дек 2004, 17:47
- Откуда: minsk
- Контактная информация:
будут варианты поостроумнее?[22:10:37] <endless> А, ещё uid генерь.
[22:10:46] <tes> а?
[22:11:01] <endless> Типа 8 символов из [a-zA-Z] и ещё 4 из [0-9[
[22:11:14] <endless> И запрети юзерам говорить это друг другу.
[22:11:29] <tes> и что это будет?
[22:11:43] <endless> Т. е. чтобы юзердира была /home/OeaOeuZLO6666/
[22:11:50] <tes> о!!!
[22:11:55] <tes> да!
- tes+or
- Неотъемлемая часть форума
- Сообщения: 535
- Зарегистрирован: 16 дек 2004, 17:47
- Откуда: minsk
- Контактная информация:
уже нашел. есть патч для апатча, называется mpm-peruser, он накладывается автоматом в моей генте по USE флагу одноименному. компилим с ним, конфигурим и апач форкаецца под нужным юзером в зависимости от vhosta, красота короче.
но он нифига не супортится, считается нестабильным и не готов для продакшна, по словам что авторов, что дистрибутивщиков.. но у меня работает.. тьфу-тьфу.
хм.. как бы научится и сделать этот патч лучше? вседь навернется же и буду я потом волосы на всех местах рвать.. вот буду обновлять апач, а он ладно еще если не скомпилится, а если скомпилится, старые бинари удалятся а новые крэшнутся? вот что я делать буду?
но он нифига не супортится, считается нестабильным и не готов для продакшна, по словам что авторов, что дистрибутивщиков.. но у меня работает.. тьфу-тьфу.
хм.. как бы научится и сделать этот патч лучше? вседь навернется же и буду я потом волосы на всех местах рвать.. вот буду обновлять апач, а он ладно еще если не скомпилится, а если скомпилится, старые бинари удалятся а новые крэшнутся? вот что я делать буду?
- tes+or
- Неотъемлемая часть форума
- Сообщения: 535
- Зарегистрирован: 16 дек 2004, 17:47
- Откуда: minsk
- Контактная информация:
One way to use the suEXEC wrapper is through the SuexecUserGroup directive in VirtualHost definitions. By setting this directive to values different from the main server user ID, all requests for CGI resources will be executed as the User and Group defined for that <VirtualHost>. If this directive is not specified for a <VirtualHost> then the main server userid is assumed.
думаю стоит попробывать. покрайней мере это не костыль.
думаю стоит попробывать. покрайней мере это не костыль.
- Victor Gr.
- Неотъемлемая часть форума
- Сообщения: 891
- Зарегистрирован: 13 авг 2004, 15:39
- Откуда: Минск
- Контактная информация:
tes+or, а все кроме php в счастью только посредством cgi либо вообще само по себе... Это только php такое проблемное дерьмо.
PS: варианты экзотики типа mod_ruby, mod_perl, mod_python не рассматриваю, ибо в реальной жизни не надо особо ИМХО. А клиентам оплачивающим поцелуи в жопу по выгодному курсу можно сделать и особый ,кастомный сетап, вплоть до отельного suid'ного веб-сервера, не говоря о тривиальный fastcgi.
PS: варианты экзотики типа mod_ruby, mod_perl, mod_python не рассматриваю, ибо в реальной жизни не надо особо ИМХО. А клиентам оплачивающим поцелуи в жопу по выгодному курсу можно сделать и особый ,кастомный сетап, вплоть до отельного suid'ного веб-сервера, не говоря о тривиальный fastcgi.
Опыт растет прямо пропорционально выведенному из строя оборудованию
- tes+or
- Неотъемлемая часть форума
- Сообщения: 535
- Зарегистрирован: 16 дек 2004, 17:47
- Откуда: minsk
- Контактная информация:
по порядку:
1.то что оно CGI как-то освобождает его от того, что оно выполняется от имени апача?
2.само по себе это как? как можно связать итерпретатор с серваком еще, кроме как цги или модуль на подобие mod_perl?
3.суидный вебсервер это как? что-то знакомое, может спать хочу и не помню
4.а с fastcgi вообще не сталкивался.
мдя.. что-то пробелы у меня.
1.то что оно CGI как-то освобождает его от того, что оно выполняется от имени апача?
2.само по себе это как? как можно связать итерпретатор с серваком еще, кроме как цги или модуль на подобие mod_perl?
3.суидный вебсервер это как? что-то знакомое, может спать хочу и не помню
4.а с fastcgi вообще не сталкивался.
мдя.. что-то пробелы у меня.
- bobrik
- Неотъемлемая часть форума
- Сообщения: 313
- Зарегистрирован: 17 авг 2005, 12:42
- Откуда: Витебск
- Контактная информация:
Llama, ага, только вот где тут решение? если все юзеры www-data могут читать у друг друга конфиги?!
http://bobrik.name - я не вар'ят
1. http://httpd.apache.org/docs/1.3/suexec.html
2. Само приложение содержит в себе сервер. Соответственно, отдельный веб-сервер уже не нужен. Например, томкэт может работать как без апача так и за ним. Или посмотри доки к webpy.
3. Тож хочу услышать, как это звучит в понимании Llama
4. http://www.fastcgi.com/
2. Само приложение содержит в себе сервер. Соответственно, отдельный веб-сервер уже не нужен. Например, томкэт может работать как без апача так и за ним. Или посмотри доки к webpy.
3. Тож хочу услышать, как это звучит в понимании Llama
4. http://www.fastcgi.com/