![](/img/trans.png)
[英]NGINX: connect() to unix:/var/run/php7.0-fpm.sock failed (2: No such file or directory)
[英]Normal user touching a file in /var/run failed
我有一個名為HelloWorld的程序屬於用戶測試
HelloWorld將在/var/run中創建一個文件HelloWorld.pid以保留單個實例。 我使用以下命令嘗試使測試可以訪問/var/run
usermod -a -G root test
但是,當我運行它時,失敗了
有人可以幫助我嗎?
/var/run
的權限是什么? 在我的系統上, /var/run
是rwxr-xr-x
,這意味着只有用戶root
可以寫入它。 權限不允許root
組的成員進行寫訪問。
處理這個問題的正常方法是創建一個/var/run
的子目錄,該子目錄歸用戶所有,您將在該目錄下運行您的服務。 例如,
sudo mkdir /var/run/helloworld
sudo chown myusername /var/run/helloworld
請注意, /var/run
通常是一個臨時文件系統,在系統重新啟動時會消失。 如果您希望在系統啟動時自動創建目標目錄,您可以使用 systemd tmpfiles服務來實現。
一些 linux 系統將每個用戶的運行時文件存儲在/var/run/user/UID/
中。
在這種情況下,您可以在/var/run/user/$(id -u test)/HelloWorld.pid
中創建您的 pid 文件。
或者,只需使用/tmp
。
您可能希望使用用戶名作為 pid 文件名的前綴以避免與其他用戶發生沖突,例如/tmp/test-HelloWorld.pid
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.