Linux

能否僅使用 SElinux 將 Solaris RBAC 角色移植到 Linux?

  • July 8, 2013

我們正在將應用程序從 Solaris 遷移到 Linux,並且允許主使用者通過使用 RBAC 角色執行一些系統命令,例如 svccfg/svcadm(redhat 上的 chkconfig)。

是否有可能僅使用 SElinux(無 sudo)允許普通使用者關閉/打開執行 chkconfig(基本上賦予它添加刪除服務的能力)?

我的方法是嘗試創建一個具有相應 SElinux 角色的 SElinux 使用者,該角色管理應用程序的域/類型,並允許轉換到執行 chkconfig、tcpdump 或任何其他通常僅限於 root 訪問權限的系統實用程序所需的所有其他域。到目前為止我所有的嘗試都失敗了,所以我的第二個問題是我在哪裡可以找到適用於這個特定問題的好的文件?

從 selinux 郵件列表收到的響應:

僅通過 SELinux 是不可能的,因為目前我們沒有提供一種方法來授予原本不會授予的功能,而只是進一步限制它們。有一些更新檔可以支持這種功能,但他們被暴徒叫住了。

因此,您需要使用其他東西(sudo 或文件上限或其他)來首先授予這些功能,然後您可以使用 SELinux 幫助將使用者鎖定在所需的範圍內。如今,sudo 確實通過命令行選項和 sudoers 配置支持 SELinux。

SELinux 參考策略已經包含一個使用者角色,當在系統上使用受限使用者sysadm_r(稍微)限制了 root (預設情況下它們不是)。

應該可以設計一個可以啟動/停止服務並且沒有其他管理任務的使用者角色,鬆散地基於sysadm_r,儘管我以前從未這樣做過,所以我猶豫著逐行給你。儘管我不想這麼說,但我可能會向 selinux 郵件列表提出這個問題。

引用自:https://serverfault.com/questions/423961