2015-05-08 2 views
3

У меня есть 2 PHP-приложения, работающие на моем сервере и файлы внутри этих приложений принадлежат 2 пользователей (user1 и user2)собственности файла созданных файлов

Принадлежность файлов выглядеть пользователь user1: WWW-данные и user2: www-data. Я назначаю www-data как группу, поэтому мое приложение php может легко записывать файлы, когда разрешение установлено на 775. Итак, я установил все права доступа к файлам 755 и 775 (для файлов, которые должны быть записаны).

Все хорошее до сих пор, единственная проблема заключается в том, что, когда мое приложение php создало файл, он устанавливает право собственности на www-data www-data, что не то, что я хочу. Я хочу, чтобы php установил разрешение iether user1: www-data или user2: www-data в зависимости от того, какое приложение оно есть.

Я использую Nginx 1.6.3 и php 5.5.24 с php-fpm.

+1

Это работает, как ожидалось. Вы можете попробовать 'chown()' http://php.net/manual/en/function.chown.php и 'chgrp()' http://php.net/manual/en/function.chgrp.php – Twisty

+0

Ye Я думал об этом, проблема в том, что фреймворк PHP делает все записи, и я не хочу начинать входить в его файлы. –

+1

Тогда я бы посоветовал проверить документацию вашей фреймворка, чтобы убедиться, что это уже что-то, что уже делает инфраструктура. – Twisty

ответ

0

Вы можете установить флаг setgid в каталоге, в котором сохраняются файлы.

setgid будет вызывать файлы, сохраненные в этой папке будет принадлежать той же группе, что и папка сама

chmod g+s directoryname 
+0

Спасибо, это помогло. –

Смежные вопросы