| 
			| 
					
						| Chuda 
								Гость
 | 
								|  | «  : 11-09-2008 13:17 »  |  | 
 
 Вот есть сервер. На нём живёт Дебиан, а уже в нём — апач.Есть туча сайтов, у каждого из которых свой владелец. Сейчас пользователь создаёт файлы в своей директории, имея туда доступ по ssh, но эти файлы недоступны для записи в них скриптами php. Если же наоборот, файл создан средствами php, то руками его не поправить.
 Давать права на запись для группы нельзя по целому ряду причин.
 Наверно надо как-то, чтобы apache+php работали от имени владельца конкретного сайта. Но как это сделать — что-то ума не приложу.
 Понимаю, что тут должно быть что-то очень простое, но видимо мозга за мозгу заплелась, и несколько дней эту задачу решить не могу уж.
 |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Sla | 
								|  | « Ответ #1 : 11-09-2008 13:28 »  |  | 
 
 что-то типав конфиге
 
 SuexecUserGroup my-domain   my-domain
 
 |  
						| 
								|  |  
								|  |  Записан | 
 
 Мы все учились понемногу... Чему-нибудь и как-нибудь. |  |  | 
	| 
			| 
					
						| McZim | 
								|  | « Ответ #2 : 11-09-2008 13:43 »  |  | 
 
 <VirtualHost>
 <Directory>
 
 Optinons всякие разные
 
 </Directory>
 
 </VirtualHost>
 |  
						| 
								|  |  
								|  |  Записан | 
 
 The CBO without stats is like a morning without coffee. (c) T.Kyte. |  |  | 
	|  | 
	| 
			| 
					
						| Chuda 
								Гость
 | 
								|  | « Ответ #4 : 11-09-2008 14:02 »  |  | 
 
 McZim, всякие разные   и всё? и заработает как надо?   |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Sla | 
								|  | « Ответ #5 : 11-09-2008 14:10 »  |  | 
 
 Шильгия, вроде того, но будет работать как cgi,  |  
						| 
								|  |  
								|  |  Записан | 
 
 Мы все учились понемногу... Чему-нибудь и как-нибудь. |  |  | 
	| 
			| 
					
						| McZim | 
								|  | « Ответ #6 : 11-09-2008 14:10 »  |  | 
 
 Шильгия, а нельзя разве все пользователей например включить в группу www, от этой группы запустить апачь. Или например в самом php скрипте делать chown. |  
						| 
								|  |  
								|  |  Записан | 
 
 The CBO without stats is like a morning without coffee. (c) T.Kyte. |  |  | 
	| 
			| 
					
						| Chuda 
								Гость
 | 
								|  | « Ответ #7 : 11-09-2008 14:34 »  |  | 
 
 McZim, в php-скриптах делать ничего нельзя, а разных пользователей в одну группу — полная фигняка с безопасностью. |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| McZim | 
								|  | « Ответ #8 : 11-09-2008 15:12 »  |  | 
 
 Шильгия, неправда! |  
						| 
								|  |  
								|  |  Записан | 
 
 The CBO without stats is like a morning without coffee. (c) T.Kyte. |  |  | 
	| 
			| 
					
						| Chuda 
								Гость
 | 
								|  | « Ответ #9 : 11-09-2008 16:21 »  |  | 
 
 в чём неправда? Как ты предлагаешь тогда? Может я чего не понимаю? |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| RXL | 
								|  | « Ответ #10 : 11-09-2008 16:29 »  |  | 
 
 McZim, в условиях написано: доступ на запись для группы закрыт. |  
						| 
								|  |  
								|  |  Записан | 
 
 ... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С. |  |  | 
	| 
			| 
					
						| McZim | 
								|  | « Ответ #11 : 11-09-2008 16:56 »  |  | 
 
 RXL,  в том то и дело что не понятно зачем закрывать доступ на группу?Шильгия, что ты имеешь ввиду под группой, просто группа пользователей как обошение, или группа пользователей в линукс?
 |  
						| 
								|  |  
								|  |  Записан | 
 
 The CBO without stats is like a morning without coffee. (c) T.Kyte. |  |  | 
	| 
			| 
					
						| RXL | 
								|  | « Ответ #12 : 11-09-2008 16:57 »  |  | 
 
 McZim, движок такой. Изменять его нельзя. Т.е. задачу надо решить средствами ОС и Апача. |  
						| 
								|  |  
								|  |  Записан | 
 
 ... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С. |  |  | 
	| 
			| 
					
						| Chuda 
								Гость
 | 
								|  | « Ответ #13 : 11-09-2008 19:23 »  |  | 
 
 Шильгия, что ты имеешь ввиду под группой … ?
 группа пользователей — это одно из базовых понятий в администрировании unix-like ОС. Вот её и имею в виду. Ту самую, которая поминается в файле /etc/group Зачем закрывать доступ группе: во-первых, вопросы безопасности. Один пользователь не должен знать, что творится у другого. Если все в одной группе, да ещё доступ на запись для группы … в общем, понятно. Если же делать каждому пользователю свою группу, но в эту группу ещё и апача вписывать… вот не знаю, как в линуксе, но во FreeBSD один пользователь не может состоять более, чем в 16 группах. Да и всё равно это как-то некрасиво. в третьих: используется cms Битрикс. В настройках этой cms по умолчанию права для создаваемых файлов 644. Каждому клиенту объяснить, что надо их менять из-за того, что у нас сервер настроен криво-коряво — как минимум сажать отдельного человека на техподдержку. Да и вообще, это лишнее действие. Ну и ещё ряд причин. |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| McZim | 
								|  | « Ответ #14 : 11-09-2008 19:28 »  |  | 
 
 Шильгия, во-первых, вопросы безопасности. Один пользователь не должен знать, что творится у другого
 храни в хомяке и нет проблем, даже если пользователя входяи в одну группу в хомяка заходит только хозяин.
 |  
						| 
								|  |  
								|  |  Записан | 
 
 The CBO without stats is like a morning without coffee. (c) T.Kyte. |  |  | 
	| 
			| 
					
						| Chuda 
								Гость
 | 
								|  | « Ответ #15 : 11-09-2008 19:39 »  |  | 
 
 McZim, ну так значит туда и апач не зайдёт    так получается? |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| RXL | 
								|  | « Ответ #16 : 12-09-2008 05:46 »  |  | 
 
 Шильгия, если все сайты только на php, то разграничить доступ элементарно. <Directory /.../backup.shelek.su/www/>Options FollowSymLinks
 AllowOverride FileInfo Limit
 php_admin_value open_basedir /.../backup.shelek.su/
 php_admin_value upload_tmp_dir /.../backup.shelek.su/tmp/
 php_admin_value session.save_path /.../backup.shelek.su/tmp/
 php_admin_value eaccelerator.name_space backup.shelek.su # тоже удобно
 </Directory>
 
При этом рекомендую запредить выполнение php-скриптом внешних программ и загрузку библиотек. |  
						| 
								|  |  
								| « Последнее редактирование: 12-09-2008 05:50 от RXL » |  Записан | 
 
 ... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С. |  |  | 
	| 
			| 
					
						| Sla | 
								|  | « Ответ #17 : 12-09-2008 06:18 »  |  | 
 
 Шильгия, во Фре можно сделать и большее количество групп для пользователей - изменения в ядре и перекомпиляция онного |  
						| 
								|  |  
								|  |  Записан | 
 
 Мы все учились понемногу... Чему-нибудь и как-нибудь. |  |  | 
	| 
			| 
					
						| McZim | 
								|  | « Ответ #18 : 12-09-2008 06:19 »  |  | 
 
 Шильгия, нечего там делать апачу   |  
						| 
								|  |  
								|  |  Записан | 
 
 The CBO without stats is like a morning without coffee. (c) T.Kyte. |  |  | 
	| 
			| 
					
						| RXL | 
								|  | « Ответ #19 : 12-09-2008 14:38 »  |  | 
 
 Давайте все-таки без флуда. Задачка распространенная - решение многим пригодится.
 Что имеем:
 1. Пользователь доступается по ftp или ssh. Владелец и группа - его, права - согласно настройки профиля или ftp-сервера. Типично: 0755 и 0644.
 2. CMS, работающая с правами Апача. Владелец и группа у файлов, созданных ею - apache:apache.
 
 Даже не считая возможных chmod в CMS уже на лицо конфликт: пользователь не может редактировать файлы, созданные CMS. И наоборот.
 
 Типичное решение Unix - общая основная группа. Это позволит менять права на файлы и директории.
 Напомню еще, что Linux поддерживает ACL - расширенные права. Опыта работы с ACL не имею и не могу ответить на важный вопрос - наследуют ли создаваемые в директории файлы ее права.
 |  
						| 
								|  |  
								| « Последнее редактирование: 12-09-2008 14:40 от RXL » |  Записан | 
 
 ... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С. |  |  | 
	|  |