Я использую php-fpm
с включенным PrivateTmp. Мне нужно прочитать файл с PHP, который копируется агентом удаленного развертывания в /tmp
каталог. Поскольку PrivateTmp включен, я не могу получить прямой доступ /tmp
каталог.
Можно ли прочитать файл из системы /tmp
папка, когда включен PrivateTmp? Я попытался создать символическую ссылку на /tmp
в /var/temp
и доступ к файлу через /var/temp
, но это не сработало. /var/tmp
в настоящее время привязка смонтирована из /tmp
, и я также попытался получить доступ к файлу через /var/tmp
безуспешно.
Прочтите руководство пожалуйста:
PrivateTmp=
Принимает логический аргумент. Если true, устанавливает новое пространство имен файловой системы для выполняемых процессов и монтирует частные/tmp
и/var/tmp
каталоги внутри него, которые не используются процессами за пределами пространства имен. Это полезно для защиты доступа к временным файлам процесса, но делает обмен между процессами через/tmp
или/var/tmp
невозможно.
Так что нет, вы не можете читать по всей системе /tmp/
каталог.
Но в том же разделе руководства есть обходной путь:
... Можно запустить два или более модулей в одном и том же пространстве имен private / tmp и / var / tmp, используя параметр
JoinsNamespaceOf=
директива, см. systemd.unit (5) для подробностей.
Таким образом, если ваш агент удаленного развертывания также работает из модуля systemd, вы можете объединить их в один общий PrivateTmp, который по-прежнему отделен от остальной системы.
Если вы не можете этого сделать: не храните файл в системе /tmp/
и просто поместите / переместите его в другое место ...