File-Permissions
apache2:將 /tmp 上的文件保存在 ‘system-private-哈哈___H一種sHhash’ 而不是只保存程式碼中定義的文件夾
出於某種原因,當我嘗試保存文件(由 PHP 在下生成
/www/appname/module
)時 - 它保存在
/tmp/systemd-private-015eb2e9f67b4eef862c68e99fe0ba30-apache2.service-9h6i08
當瞄准文件保存在
/tmp/somename
文件保存在
/tmp/systemd-private-015eb2e9f67b4eef862c68e99fe0ba30-apache2.service-9h6i08/tmp/somename
.如何禁用此功能並將文件“定期”保存到 /tmp 目錄?
無論如何,此預設功能的目的是什麼?
這是一個 systemd 安全設置,用於創建服務特定的私有臨時目錄。
您的 apache systemd 單元將文件有一個設置:
... [Service] ExecStart=... PrivateTmp=yes ...
此選項將確保
/tmp
服務將看到的目錄是私有的,並且與主機系統的/tmp
./tmp
傳統上一直是所有本地服務和使用者的共享空間。多年來,它一直是眾多服務安全問題的主要來源。由於可猜測/tmp
的臨時文件導致的符號連結攻擊和 DoS 漏洞很常見。通過將服務與主機的其他部分隔離開來/tmp
,此類漏洞變得毫無意義。來源:http: //0pointer.de/blog/projects/security.html
您可以配置多個服務以共享一個
PrivateTmp
可能JoinsNamespaceOf=
需要設置的服務PrivateTmp=no