#1
|
|||
|
|||
Приветствую всех!!!
Народ подскажите пожалуйста как можно решить вот такие вопросы: 1. как настроить(собрать, подправить) PHP что бы при создании фаилов из скриптов они создавались с маской 002, а не 022? 2. что подправить в исходниках PHP что бы он все popen пропускал через suexec? 3. как сделать так что бы suexec выполнял скрипты с правами rwxrwxr-x, а не только rwxr-xr-x? PS ну вот собственно и все |
#2
|
|||
|
|||
1 перед запуском апачи сказать umask 002
2 написать свой supopen 3 поправить suexec
__________________
С уважением, Антон Нехороших. |
#3
|
|||
|
|||
Цитата:
ЗЫ не очень информативно но направление указано... |
#4
|
|||
|
|||
Итак пункт 3-й решен заменой:
if ((dir_info.st_mode & S_IWOTH) || (dir_info.st_mode & S_IWGRP)) { log_err("error: directory is writable by others: (%s)\n", cwd); exit(116); } на: if (dir_info.st_mode & S_IWOTH)) { log_err("error: directory is writable by others: (%s)\n", cwd); exit(116); } 2-й пункт в решении 1-й пункт пытался решить так: в стандартном /usr/local/etc/rc.d/apache.sh есть вот такая строка: start_precmd="`/usr/bin/limits -e -U www`" заменил на: start_precmd="`/usr/bin/limits -e -U www;/usr/bin/umask 002`" не помогло |
#5
|
|||
|
|||
А зачем вообще такая маска то?
Это же дырка делать на файлы права rwxr-xr-x, хотябы юзать umask 007
__________________
С уважением, Антон Нехороших. |
#6
|
|||
|
|||
Цитата:
|
#7
|
|||
|
|||
ну тогда umask 007
__________________
С уважением, Антон Нехороших. |
#8
|
|||
|
|||
Цитата:
ЗЫ я даже в login.conf прописал webuser:\ :umask=002:\ :tc=default: внес пользователя www (от которого работает apache) в класс webuser, но и это не помогло ЗЫЫ все заработало ЗЫЫЫ ну а по поводу popen никто поконкретнее не подскажет |
#9
|
|||
|
|||
ну вот осталось сделать 2 пункт, подскажите хоть в правильном направлении движусь
в php есть файлик ./TSRM/tsrm_virtual_cwd.h, а там есть: #define VCWD_POPEN(command, type) popen(command, type) этот define я так понял используется везде и в exec.c и ... его можно заменить на(как предложил А.Н.): #define VCWD_POPEN(command, type) supopen(command, type) а потом в функции supopen заменить command на command = "/usr/local/bin/suexec ...." + command аргументы которые нужно передать suexec можно узнать из исходников apache, вот я только не знаю откуда взять в коде PHP пользователя который прописан в virtualhost в конфиге апача? |
#10
|
|||
|
|||
[root@master TSRM]# diff tsrm_virtual_cwd.h.orig tsrm_virtual_cwd.h
227c227 < #define VCWD_POPEN(command, type) virtual_popen(command, type TSRMLS_CC) --- > #define VCWD_POPEN(command, type) PG(doc_root) ? supopen(PG(doc_root),command, type) : popen(command, type) 254c254 < #define VCWD_POPEN(command, type) popen(command, type) --- > #define VCWD_POPEN(command, type) PG(doc_root) ? supopen(PG(doc_root),command, type) : popen(command, type)
__________________
С уважением, Антон Нехороших. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Несколько вопросов! | jerrs | Форум по Web-хостингу | 4 | 13.05.2010 19:58 |
несколько вопросов о регистраторе и о хостингах ( Паранойа) | nilkom | Форум по Web-хостингу | 1 | 25.08.2009 16:07 |
Вопрос по настройке ns. | undef | Технические аспекты и вопросы безопасности | 12 | 21.03.2004 00:19 |
Ответьте на пару вопросов | CMShost.ru | Домены | 21 | 15.08.2003 11:50 |
Plesk и suexec | avik | Технические аспекты и вопросы безопасности | 7 | 11.07.2002 13:01 |