Назад | Перейти на главную страницу

Каталог PHP-FPM chroot и chdir

Я настраиваю php-fpm с включенным chrooting. Теперь я вижу, что есть два варианта, и хочу знать, в чем точная разница.

В установке есть:

chroot = /var/www/domains/domain.tld/
; Chdir to this directory at the start. This value must be an absolute path.
; Default Value: current directory or / when chroot
chdir = /docroot/

Почему здесь два разных места и к какому пути разрешен доступ php. Может ли веб-сайт php получить доступ /var/www/domains/domain.tld/, или он может получить доступ только к файлам с docroot каталог.

===

Может быть, есть для меня какой-нибудь конкретный совет. Я хочу иметь такую ​​настройку:

расположение webroot: /var/www/

domain.com/
 |---conf/
 |    |--nginx.conf
 |    |--php-fpm.conf
 |
 |---ssl/
 |---logs/
 |---session/
 |---domains/
       |---www/
       |---app/
       |---dev/

Теперь настройки php-fpm будут такими:

chroot = /var/www/domain.com/
chdir  = /domains/www

Теперь главный вопрос: будет ли приложение размещено в www поддомен иметь доступ к файлам в dev или app. Или даже файлы, расположенные в сеансе, который является путем сохранения сеанса, или другие папки, такие как ssl и журналы.

  • Chroot устанавливает «корневой» каталог - вы не можете перемещаться выше корневого каталога.
  • Chdir просто меняет начальный каталог - все еще можно переходить в другие каталоги (включая те, что выше).
    • Если вы не укажете chroot-путь, тогда применяется «настоящий» корень - и вы указываете абсолютный chdir.
    • Если вы все же указываете chroot-путь, тогда вы указываете путь относительно chroot-пути (который переопределяет корневой каталог).

Предложенные вами настройки кажутся вполне приемлемыми.

  • Начальным путем будет путь chroot + путь chdir
  • Приложение сможет получить доступ ко всем файлам по пути chroot (если нет других ограничений - например, php_openbasedir, разрешений и т. Д.).

В качестве побочного примечания - ваше php-приложение также будет иметь доступ к вашим nginx.conf и php-fpm.conf в зависимости от структуры документа, которую вы показали, что кажется чем-то, что вы можете изменить (по крайней мере, сделав файлы для чтения - только этому пользователю).