應用程式的正確權限是什麼?

應用程式的正確權限是什麼?

我安裝了 Umbrello,但它既不能保存也不能自動儲存。查看應用程式權限,它說它由 root 擁有,群組設定為唯讀,這似乎是問題所在。所以我的一般問題是應用程式權限應該用於一般目的並可供所有用戶使用?

答案1

除非設定了 setuid 和 setgid 位,否則可執行檔案的權限不會確定基於該檔案的程序的安全性上下文。

例如,/bin/ls屬於root;但因此它沒有特殊權限。當使用者joe鍵入時lsls 流程使用 user 的憑證運作joe

必須安裝適用於所有使用者的應用程序,以便所有使用者都有權運行可執行文件,並且所有全域配置資料都可供使用者讀取。這些材料都不應該是可寫的。 (例如 中的配置、 (GNU/Linux 約定)/etc中的靜態資料。/usr/share/<appname>

應用程式應將其本機使用者首選項儲存在使用者可讀可寫的某個區域中,例如其主目錄中的設定檔。如果應用程式無法自動儲存,則可能不是其安裝材料的權限問題。相反,它會嘗試自動儲存到呼叫使用者沒有權限的位置,或不存在的位置(包含一個或多個不存在的目錄元件的路徑)。這可能是本地或全域配置中的某些問題。

如果您在程式中遇到令人費解的權限問題,並且不清楚它試圖訪問什麼或在哪裡,您可能能夠發現正在發生的情況的一種方法是在系統呼叫追蹤實用程式下運行應用程式就像strace在GNU/Linux 系統或trussSolaris 上一樣。 (從終端控制台或窗口,或將追蹤重定向到檔案。)當權限問題重現時,在追蹤末尾附近尋找與檔案系統存取相關的失敗系統呼叫。

相關內容