Модераторы: powerfox, ZeeLax
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> настройка комфортных прав для dev и www-data 
:(
    Опции темы
BuShaRt
Дата 24.2.2014, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: нет
Всего: 6



Вообще вопрос очень глупый и банальный, но тем не менее я так и не смог найти на него ответ.
Классическая ситуация. Есть Nginx (с apache-м те же грабли), работает от от лица www-data/www-data. Виртуальны хост настроен на каталог /var/www. Есть, некий пользователь developer/developer.
 
В общем суть проблемы в том, что www/data и developer должны (обязаны) вместе работать в рамках каталога /var/www. Developer - пишит и правит скрипты (и любые файлы) ручками, а www-data, может модифицировать файлы в автоматическом режиме. Изучая материал по теме я часто сталкивался с ответом вроде "www-data должен иметь права только к паре каталогов/файлов". Если вы придерживаетесь такой точки зрения, то вопрос все равно актуален т.к. в рамка этих "некоторых каталогов" developer и www-data все же должны работать совместно.

Еще есть важный момент: developer правит все каталоги не на прямую. Процесс выглядит следующим образом: он правит скрипт на локальной windows мошине, специальная программа realSync детекти это и по факту открывает shh соединение от лица developer/developer для правки файла на удаленном сервере. Аналогично работает удаление файлов.

Что я побывал?
1. Добавлять www-data в группу developer и developer в группу www-data. Все было здорово, но эти нехорошие пользователи могут создавать файлы с правом записи, только для себя (без права для своей группы). Вот так: www-data создал файл, а developer потом не может его удалить.
2. Запускать nginx от лица developer/developer. Тут главная проблема в том, что www-data по умолчанию имеет правильные права для работы с некоторыми системными каталогами (на пример хранить сессию пользователя). Очень не хочется настраивать и, главное, в последствие поддерживать эти же права для developer.
3. Побывал использовать дополнительные биты прав SGID на корневой каталог проекта, но это вообще было подобно велосипеду и постоянно все шло сикось на кось.
4. Читал про ACL. Не дочитав предположил, что это надстройка которая позволит наделать еще больше прав над стандартными, но проблему со стандартными не решит. 

Вот как-то так. Есть у кого-нибудь идеи как можно решить эту проблему? Мне лично нравиться первый вариант т.к. по идее осталось просто навязать обои пользователям, чтоб все создаваемые ими файлы и каталоги обязательно имели права на запись для группы.

Это сообщение отредактировал(а) BuShaRt - 24.2.2014, 10:53
PM MAIL   Вверх
tzirechnoy
Дата 24.2.2014, 21:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1173
Регистрация: 30.1.2009

Репутация: 2
Всего: 16



1) Стандартный метод -- umask 002, и SGID. И однократно сменить у всего дерева права и группу на какую надо, www-data там.
umask можно поставить, например, через pam_umask.
Да, разумеется, могут быть утилиты, которые плюют на umask и жёстко ставят какие-то конкретные права. Но во-первых, для вендоутиля, который ходит через ssh это было бы странно, а во-вторых в любом случае -- надо разбираться зачем и почему они это делают.
2) acl вполне позволяет это обойти, добавив наследуемое (default) разрешэние писать для конкретной группы. 
PM MAIL   Вверх
BuShaRt
Дата 25.2.2014, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: нет
Всего: 6



Пока что дописал mask 0002 в /etc/init.d/nginx
PM MAIL   Вверх
BuShaRt
Дата 27.2.2014, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: нет
Всего: 6



Случайно наткнулся на информацию по этому вопросу на страницах Symfony Book: http://symfony.com/doc/master/book/install...ation-and-setup Смотри "Setting up Permissions"
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Oбщие вопросы"
nickless
Imple
nerezus

В тему здесь вопросы общие - не привязанные к определенному ПО или дистрибутиву BSD/Linux/UNIX.
Например вопросы о выборе ОС для определенных задач (но если Вы просто хотите узнать "Какой дистрибутив лучше", то для этого есть Клуб юнуксоидов).
Общие вопросы по shell-программированию тоже лучше задавать здесь.


  • Вопросы мобильной разработки тут
  • Вы должны соблюдать правила форума.
  • Помните: какой вопрос, такой и ответ. Прежде чем задать вопрос прочитайте вот эту статью на форуме CIT.
  • Оскорблять запрещается.
  • Религиозные войны в Религиозных войнах.
  • Общение "просто так" в Клубе юнуксоидов. В отличие от многих других разделов, здесь разрешается сдержанно оффтопить и юморить в тему.

За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу).


В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим.


Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | *NIX системы: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0431 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.