Polkit

polkit 規則:確定使用者是否是管理員?

  • April 27, 2019

polkit 使用 javascript 編寫的規則文件進行配置。

您編寫自定義函式,並將它們作為參數傳遞給polkit.addRule(). 當執行 polkit 操作時,函式會按順序呼叫,直到返回結果。(否則使用預設值)。

使用兩個參數呼叫您的規則函式: 的名稱action和一個subject對象。

您可以使用subject.isInGroup("wheel")來測試使用者是否在“wheel”組中。

polkit 預設使用使用者是否是“管理員”的概念。這個概念的含義可以使用 polkit.addAdminRule() 以一種有點奇怪的方式進行修改。此預設值因發行版而異。在某些發行版中,管理員被放置在“wheel”組中。在其他發行版中,“sudo”組被認為是管理員。

是否可以以可移植的方式為 polkit.addRule() 編寫一個函式,該函式測試主題是否在發行版的管理員組中,而不是硬編碼“wheel”或“sudo”組?

這不可能。

這不是一種非常常見的安全策略類型——無論是對於 polkit 還是其他任何東西。很多東西要麼使用組,要麼使用 polkit 密碼提示。

我只注意到 PackageKit 使用了這種類型的策略。(我猜管理員組是由發行版指定的,當它編譯 PackageKit 時)。

引用自:https://unix.stackexchange.com/questions/515539