Единственото решение, което ми хрумна е да намеря начин да задам за всеки домейн различен потребител и група, след което с chmod да наглася правата..
Нещо такова трябва да е. Ако съм те разбрал правилно....
правиш по една home директория за всеки потребител/група. и привързваш съответният домейн към нея.
например правиш /home/test.mydomain.com
с права test:test
и конфигурация на апачито така DocumentRoot /home/test.mydomain.com
апачито работи с права apache.apache
след това добававяш user apache към групата на test
t.e ако /home/test.mydomain.com има пермишъни rwxrwx--- то значи че юсера ще може да чете и пише първото (rwx*** ***) щото е собственик. А апачито ще може да чете и пише от второто (***rwx***) щото е в групата на test
Това ли питаш?
Въпроса е, че например ако отворя domain1.com/shell.php ще мога да ровя из файловете и на domain2, domain3, etc.
Търса начин apache да работи с отделен юзър за всеки домейн.
Например собственика на domain1.com да бъде user1:user1
Собственик на domain1.net да бъде user2:user2
Собственик на domain1.org да бъде user3:user3 и т.н.
По този начин когато задам права само на собственика той няма да може да влиза по другите директории, защото няма да има права там.
===================
Ето как изглежда httpd.conf в момента
<VirtualHost IP:80>
ServerName sub.domain.com
ServerAdmin webmaster@domain.com
DocumentRoot /home/domain.com/public_html/directory/
ServerAlias sub.domain.com
SuExecUserGroup test test
<Directory /home/domain.com/public_html/directory>
Options ExecCGI
Options +FollowSymlinks
AllowOverride all
php_admin_flag engine off
AddHandler cgi-script .php .php3 .php4. php5 .phtml
Order deny,allow
Allow from all
</Directory>
ErrorLog "|/usr/sbin/rotatelogs /home/domain.com/logs/directory/%Y-%m-%d_error.log 86400"
CustomLog "|/usr/sbin/rotatelogs /home/domain.com/logs/directory/%Y-%m-%d_access.log 86400" common
</Virtualhost>
При опит да заредя файл от директорията ми връща грешка 500.
error.log
[Mon Aug 09 14:09:20 2010] [error] [client ***] File does not exist: /home/domain.com/public_html/directory/favicon.ico
[Mon Aug 09 14:09:25 2010] [error] [client ***] suexec policy violation: see suexec log for more details
[Mon Aug 09 14:09:25 2010] [error] [client ***] Premature end of script headers: test.php
suexec.log
[2010-08-09 14:09:25]: uid: (1005/test) gid: (1005/test) cmd: test.php
[2010-08-09 14:09:25]: command not in docroot (/home/domain.com/public_html/directory/test.php)
Идей?