有沒有地方可以在沒有 root 存取權限的情況下從我的程式寫入設定檔?

有沒有地方可以在沒有 root 存取權限的情況下從我的程式寫入設定檔?

我正在編寫一個小實用程序,我必須將配置文件放在某處。從研究來看,這似乎/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 有一個官方的檔案系統層次結構標準。

相關內容