
我正在編寫一個小實用程序,我必須將配置文件放在某處。從研究來看,這似乎/etc
是 Linux 中的標準位置。但我遇到的問題是該目錄預設似乎需要 root 存取權限才能寫入。
有沒有可以寫入而無需呼叫我的程式的地方sudo
?例如,homebrew
在 mac 上似乎能夠在/usr/local/bin
沒有 root 存取權限的情況下以某種方式寫入。
我知道我可以把東西放進去,/home
但我正在嘗試以「正確的方式」做事,以了解檔案應該在 Linux 中儲存的位置。
答案1
如果您想以正確的方式做事,則程式及其設定檔不得由使用者編輯,否則會破壞標準安全模型。
它要么由用戶擁有,因此其配置存儲在用戶主目錄中,要么安裝在任何系統位置(例如/usr/bin
,/usr/local/bin
,/opt/appname
),然後其配置也再次存儲在某些系統位置(例如/etc
, ,/usr/local/etc
或/opt/appname/etc
)。
答案2
您應該使用特定於您的應用程式的子目錄(可能是隱藏的),例如.myApp
.它還可能包含版本和安裝日誌。這使得清理等工作變得更加容易。
如果配置在使用者之間共享,您可以在「共享空間」中執行一次性 sudo mkdir 並在該目錄中授予相關權限。上面的等級不可寫並不重要。
如果您的配置是針對每個使用者的,則您的應用程式會.myApp
在安裝或首次使用時在使用者的 /home/username 下建立。
Linux 有一個官方的檔案系統層次結構標準。