Как отследить, откуда на Ubuntu поступают настройки umask для php5-fpm
Буду очень признателен за помощь в поиске и диагностике проблем с Umasntu: I '
я бегуphp5-fpm
с помощью Apache черезproxy_fcgi
, Процесс выполняется с umask 0022 (подтверждается тем, что PHP отправляет результатыumask()
в файл [результат18' == 0022]). Я'Я хотел бы изменить это на 0002, но могуне отследить, откуда исмас приходит.
Apache установлен с umask 0002, и в качестве теста, если я отключуproxy_fcgi
и запустить мой тест выше, я получаю файл с u + g, имеющий доступ rw (и содержимое файла подтверждает umask как '2' == 0002).
Если яsudo -iu fpmuser
и бегиumask
результаты 0002.
Системная информация:
PHP: 5.5.3-1ubuntu2.1Apache: 2.4.6Убунту: 13.10PHP-PFM выводит список с использованием портов TCP (так как порты Unix нет еще работает / поддержка)Пока ямы пробовали следующее (после каждого следовал перезапуск системы и повторное тестирование):
добавлениеumask 0002
к началу/etc/init.d/php5-fpm
добавление--umask 0002
вstart-stop-daemon
звонит в/etc/init.d/php5-fpm
добавлениеumask 0002
в.profile
в домеfpm
пользовательЧто-то явно настраивает umask процесса php-fpm - так, как я могу начать отслеживать то, что заставляет umask 0022 влиять на процесс php-fpm?
РЕДАКТИРОВАТЬ (1):
Настройка системы Umask через/etc/login.defs
(увидетьКак установить системный umask?) влияет на маску в другом месте (например, черезsudo
теперь имеет umask 0002), но php-fpm создает файлы с umask 0022. Обратите внимание, что я проверил, чтоsession optional pam_umask.so
также присутствовал в/etc/pam.d/common-session-noninteractive
и я проверил umasks 002 и 0002.РЕДАКТИРОВАТЬ (2):
Я смог повторить проблему, используяnginx
а такжеphp5-fpm
(с использованием сокетов unix, установленных в режим прослушивания '0666').Я хотел бы проследить, откуда исходит маска, но яЯ согласен на какой-то способ заставить его достичь того, чего я хочу.Я должен добавить, что первый тест был сделан на образе Amazon Ubuntu 13.10. Мои тесты в прокатредактировать 2 ' где завершена с использованием копии ISO-установки сервера Ubuntu13.10 с нуля на виртуальной машине. Все установки были завершены с помощью apt-get, а не путем загрузки исходного кода и сборки.РЕДАКТИРОВАТЬ (3):
Я подтвердил, что могу манипулировать маскамивручную одним из следующих способов (проверено путем проверки разрешений созданного тестового файла):
а. В оболочке установите umask и запустите/usr/sbin/php-fpm
из скорлупы
б. В оболочке запустите следующее с любым значением umask, которое мне нравится:
start-stop-daemon --start --quiet --umask 0002 --pidfile /var/run/php5-fpm.pid --exec /usr/sbin/php5-fpm -- --daemonize --fpm-config /etc/php5/fpm/php-fpm.conf
Однако этоточный та же команда в/etc/init.d/php5-fpm
файлтерпит неудачу настроить умас при бегеsudo service php5-fpm stop; sudo service php5-fpm start
или при перезагрузке.