|  | 
| 
			 
			#1  
			
			
			
			
			
		 | |||
| 
 | |||
|   
			
			Объясните, почему пхп так себя ведет: Виртуальный хост запущен под определенным Юзером и Группой, т.е, не (apache.apache) или (nobody.nobody), ПХП работает в режиме SAFE MODE. Я ожидаю, что когда в скрипте вызываю функцию - " mkdir ("testdir",0777); ", будет создан каталог testdir , с правами Юзера и Группы, под которым запущен этот вирт-хост, и атрибутами 777. Я прав ? Дело в том, что пхп создает эту папку, но только с правами apache.apache, и атрибутами 755 вместо 777. И создает, при условии, что верхняя по дереву папка имеет атрибуты 777. (Ну это понятно, так как получается пхп лезет в папку, как apache.apache, не являясь владельцем этой папки и не имеющим право писать в нее) Я не пойму, почему в этой ситуации " mkdir ("testdir",0777); ", пхп работает под apache.apache !? | 
| 
			 
			#2  
			
			
			
			
			
		 | |||
| 
 | |||
|   
			
			Потому, что PHP скомпилирован как модуль, а процесс apache вне зависимости от user/group внутри virtualhost (которые только SuEXEC интересуют) работает под основными user/group. Соответственно, PHP надо собрать как CGI-скрипт. | 
| 
			 
			#3  
			
			
			
			
			
		 | |||
| 
 | |||
|   
			
			Или выключить SAFE... ?  Пробовал выключать для вирт-хоста, так при запуске, раз через раз вываливалась ошибка связаная с SAFE..., типа "нет дочтупа юзеру такому к такой папке, потому, что она чужая". Такое чувство, что автоматически включался режим SAFE... | 
| 
			 
			#4  
			
			
			
			
			
		 | |||
| 
 | |||
|   
			
			Чтото не сростается. Не вижу здравости в том , как оно должно работать.  Я думаю разработчики панели плеск, не глупые люди, раз сделали так: Установлена панель плеск. Вирт хосты запущены под Юзером.Группой . ПХП работает модулем в апаче, в режиме SAFE MODE. Логично предположить, что пхп, например функцией mkdir(....), будет создавать папку, принадлежащую Юзер.Группа , а не апач.апач . Иначе, пхп наплодит папок, а по ФТП, юзер ничего не сможет сделать с ними, потому, что ни его папки будут, а апача. Здравости и логики ни капли. Скажите, если я выключаю режим SAFE MODE в одном вирт-хосте, не может ли это быть причиной некорректной работы пхп в других вирт-хостах? | 
| 
			 
			#5  
			
			
			
			
			
		 | |||
| 
 | |||
|   
			
			</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Цитата (avik @ 30 Ноя. 2002, 01:00)</td></tr><tr><td id="QUOTE">Вирт хосты запущены под Юзером.Группой .[/QUOTE]<span id='postcolor'> Главное заблуждение. Все процессы Apache работают под одним пользователем. Все модули в них, естественно, тоже. Есть SuEXEC - он позволяет запустить из-под Apache _другой_ процесс с заданными пользователем и группой. | 
| 
			 
			#6  
			
			
			
			
			
		 | |||
| 
 | |||
|   
			
			</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Цитата (ptitov @ 30 Ноя. 2002, 11:27)</td></tr><tr><td id="QUOTE">  0--></span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Цитата (avik @ 30 Ноя. 2002, 01  0)</td></tr><tr><td id="QUOTE">Вирт хосты запущены под Юзером.Группой .[/QUOTE]<span id='postcolor'> Главное заблуждение. Все процессы Apache работают под одним пользователем. Все модули в них, естественно, тоже. Есть SuEXEC - он позволяет запустить из-под Apache _другой_ процесс с заданными пользователем и группой.[/QUOTE]<span id='postcolor'> КАЖИСЬ ЭТО ТОЧНО ТАК. И все это похоже на огромную за...цу. Бред полный! На php.net, вычитал, что вродебы в версии апача >2.0 както этот вопрос решен. Иначе, решения для пхп почти нет. А особенно, если вирт-хосты создаются автоматом, с стандартным набором конфигурации. Как я понял, mkdir(), создает папку в любом случае с правами апача, только если включен safe режим, пхп не даст это сделать, но тогда про подобные функции можно забыть. Реальный пример, вчера отключил safe режим, а сегодня уже клиент спрашивает, почему я не могу удалить папку?! ж) Вот так з.... | 
| 
			 
			#7  
			
			
			
			
			
		 | |||
| 
 | |||
|   
			
			ошибочка, не обращайте внимания. | 
| 
			 
			#8  
			
			
			
			
			
		 | |||
| 
 | |||
|   
			
			А всё потому, что PHP надо ставить не как модуль, а как CGI. Тогда он запускается SuEXEC'ом и никаких проблем нету.
		 | 
| 
			 
			#9  
			
			
			
			
			
		 | |||
| 
 | |||
|   
			
			</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Цитата (ptitov @ 30 Ноя. 2002, 14:48)</td></tr><tr><td id="QUOTE">А всё потому, что PHP надо ставить не как модуль, а как CGI. Тогда он запускается SuEXEC'ом и никаких проблем нету.[/QUOTE]<span id='postcolor'> Неудобства от метода CGI, в неустойчивости соединений с БД? Так мне кажет это только память гребет, а толку никакого. Есть ли в этом методе минусы по отношению к модульному методу? | 
| 
			 
			#10  
			
			
			
			
			
		 | |||
| 
 | |||
|   
			
			Ну не так-то оно и сильно память гребёт   Хотя, разумеется, быстродействие чуть ниже. Но другого выбора то нету. | 
|  | 
| 
 | 
 | 
|  Похожие темы | ||||
| Тема | Автор | Раздел | Ответов | Последнее сообщение | 
| Хамское поведение АГАВЫ | любознательный | Мусор | 43 | 01.11.2010 13:01 |