Systemd
在哪裡放置套接字以便 PrivateTmp 可以為真
我有一個必須與其他服務(包括
httpd
)通信的 C++ 程序,並且通過/tmp
隨著
systemd
和PrivateTmp=true
設置的出現,像 httpd 這樣的程序預設不能再看到我的程序的套接字。我不希望使用者更改PrivateTmp
設置,httpd
因為它是一個很好的保護。但是,我應該將我的套接字文件(它在我的服務的啟動/停止時創建/刪除)放在哪裡,以便可以與其他程序共享?
(或者是告訴使用者關閉的唯一/正確的解決方案
PrivateTmp
??)
您可以將您的套接字放入
/var/tmp
帶有粘性位的世界可寫目錄中,例如/tmp
.如果您的程序是由 systemd 啟動的守護程序,您可以考慮
RuntimeDirectory=somedir
在單元文件中使用,那麼該目錄將在/run
您的單元啟動時創建,並在停止時刪除。然後,您可以在/run/somedir/
.