| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Администрирование Web серверов и Web служб > Не получается настроить права доступа для apache. |
| Автор: ksicom 10.11.2006, 15:20 |
| Не получается настроить права доступа для apache. httpd работает из-под пользователя apache (дочерние процессы). Система CentOS 4.4 Сейчас домашние каталоги настроены так для каждого пользователя: drwx--x--- 5 user1 user1 4096 Nov 8 19:33 user1 у каждого пользователя есть подкаталог: drwxrwxr-x 3 user1 user1 4096 Nov 9 21:15 www апач входит в следующие группы: [root@zzz web1]# groups apache apache : apache user1 user2 user3 в httpd.conf настроен UserDir UserDir www т.е. сервер по адресам http://zzz/~userX отдаёт содержимое каталога /home/userX/www И всё бы ничего, но: некоторые web приложения сами создают каталоги и файлы. На вновь создаваемые каталоги/файлы apache само собой ставит владельца apache:apache chown в Red Hat по умолчанию отключён для всех кроме root и включать его честно говоря не хочется. Поэтому когда пользователь пытается стереть созданный апачем файл/подкаталог - он этого сделать не может т. к. он ему не принадлежит. chown тоже не работает. Остаётся только использовать права root, что очень плохо. Как такую ситуацию просто разрулить чего-то никак не соображу. И вообще можно apache заставить на базе поступившего URL(фактически на базе имени домашнего каталога) создавать дочерний процесс с конкретным UIDом? (наподобие proftpd) |
| Автор: Sun 10.11.2006, 16:42 |
| Во первых нужно для каждого юзера создать свой VrtualHost, а не гонять всех из под одного. Во вторых есть такая вещь как suExec, которая запускает CGI и SSI из под юзера - владельца документ рута. Подробней тут http://httpd.apache.org/docs/1.3/suexec.html Если речь идет о PHP, то его можно запускать либо как модуль Апача, тогда и все скрипты будут выполнены под процессом Апача, либо как CGI, тогда можно использовать suExec. Советую еще это почитать http://malik.elcat.kg/apache-suexec-php.shtml |
| Автор: ksicom 10.11.2006, 19:31 |
| Это всё работает только на виртуальных серверах (вроде). А мне надо, чтобы просто домашние каталоги раздавал. Без виртуальных серверов на каждого пользователя. |
| Автор: Sun 10.11.2006, 21:37 |
| Ну тогда придеться писать свой модуль к Апачу, который будет фильтровать запросы по URL и выполнять под нужным юзером. Или найти кто уже написал |