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
Технический
Администратор
Offline
Пол:
|
|
« Ответ #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
Технический
Администратор
Offline
Пол:
|
|
« Ответ #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
Технический
Администратор
Offline
Пол:
|
|
« Ответ #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
Технический
Администратор
Offline
Пол:
|
|
« Ответ #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 »
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
|