nginx + php-fastcgi + GET / ;)
Sergey Shepelev
temotor at gmail.com
Thu May 24 14:22:53 MSD 2007
Здравствуйте (Hello).
Это самая обычная проблема shared-хостинга.
Я решил ее с помощью ACL (access-control lists).
drwxrwx---* 2 /home 1024 дата root wheel
drwxr-x---* 2 /home/user1 512 дата usr1 usr1
drwxr-x---* 2 /home/user2 512 дата usr2 usr2
...
getfacl /home
#file:home
#owner:0
#group:0
user::rwx
user:www:--x
group::rwx
mask::rwx
other::---
getfacl /home/user1
#file:user1
#owner:1001
#group:1001
user::rwx
user:www:r-x
group::r-x
mask::rwx
other::---
PHP/FastCGI выполняется отдельным процессом от каждого юзера с
помощью spawnfcgi из пакета lighthttpd.
nginx выполняется от юзера www, и таким образом имеет права на чтение
статики, но не имеет даже прав на чтение списка директорий в /home -
уж на совсем страшный случай.
Про то как начать использовать ACL я узнал на http://opennet.ru/ и
вам рекомендую, хотя, конечно, источники у всех свои.
P.S.: Кроме этого решения есть еще патч ядра, вы можете разрешить
юзеру nginx иметь доступ там, где нет chmod o+rx. Поводы не
пользоваться этим способом для меня очевидны.
P.P.S.: Ваши вопросы не совсем касаются специфики именно nginx,
поэтому вы, наверное, попали в ту же ситуацию, что и я год назад,
когда пришлось вдруг изучать администрирование сервера на FreeBSD и
настройку shared hosting. Поэтому какие-то общие схемы я бы
посоветовал искать на том же OpenNET, а конкретные детали готов
обсудить в аське 145-542-767.
--
С уважением (Best regards),
Шепелев Сергей Александрович
(Sergey A. Shepelev).
--
История переписки (conversation history):
>>> И всетаки пока непонятно, как решить эту проблему...
>>> Без установки на скрипт прав 644...
>>>
>> Добавить пользователя www-data в группу wwwsite.
>>
> Тогда теоретически пользователь wwwsite1 сможет читать искодный код
> скриптов пользователя wwwsite2. (При наличии уязвимостей в nginx, php)
More information about the nginx-ru
mailing list