Polkit
polkit 規則:確定使用者是否是管理員?
polkit 使用 javascript 編寫的規則文件進行配置。
您編寫自定義函式,並將它們作為參數傳遞給
polkit.addRule()
. 當執行 polkit 操作時,函式會按順序呼叫,直到返回結果。(否則使用預設值)。使用兩個參數呼叫您的規則函式: 的名稱
action
和一個subject
對象。您可以使用
subject.isInGroup("wheel")
來測試使用者是否在“wheel”組中。polkit 預設使用使用者是否是“管理員”的概念。這個概念的含義可以使用 polkit.addAdminRule() 以一種有點奇怪的方式進行修改。此預設值因發行版而異。在某些發行版中,管理員被放置在“wheel”組中。在其他發行版中,“sudo”組被認為是管理員。
是否可以以可移植的方式為 polkit.addRule() 編寫一個函式,該函式測試主題是否在發行版的管理員組中,而不是硬編碼“wheel”或“sudo”組?
這不可能。
這不是一種非常常見的安全策略類型——無論是對於 polkit 還是其他任何東西。很多東西要麼使用組,要麼使用 polkit 密碼提示。
我只注意到 PackageKit 使用了這種類型的策略。(我猜管理員組是由發行版指定的,當它編譯 PackageKit 時)。