Sun Cluster 系統管理指南(適用於 Solaris 作業系統)

第 2 章 Sun Cluster 與 RBAC

本章說明了與 Sun Cluster 相關且以角色為基礎的存取控制 (RBAC)。包含以下主題:

針對 Sun Cluster 設定並使用 RBAC

使用下表確定關於設定和使用 RBAC 時應參考的說明文件。本章稍後將介紹有關針對 Sun Cluster 設定並使用 RBAC 所遵循的具體步驟。

作業 

操作說明 

詳細瞭解 RBAC 

「System Administration Guide: Security Services」中的第 8 章「Using Roles and Privileges (Overview)」中的第 8 章「Using Roles and Privileges (Overview),」

設定 RBAC、管理 RBAC 的元素和使用 RBAC 

「System Administration Guide: Security Services」中的第 9 章「Using Role-Based Access Control (Tasks)」中的第 9 章「Using Role-Based Access Control (Tasks)」

詳細瞭解 RBAC 元素和工具 

「System Administration Guide: Security Services」中的第 10 章「Role-Based Access Control (Reference)」中的第 10 章「Role-Based Access Control (Reference)」

Sun Cluster RBAC 許可權設定檔

您透過指令行發出的 Sun Cluster Manager 和特定的 Sun Cluster 指令及選項是使用 RBAC 取得授權。需要 RBAC 授權的 Sun Cluster 指令及選項將需要一個或多個以下授權層級。Sun Cluster RBAC 許可權設定檔適用於全域和非全域區域。

solaris.cluster.read

列出、顯示及其他讀取作業的授權

solaris.cluster.admin

變更叢集物件狀態的授權

solaris.cluster.modify

變更叢集物件特性的授權

如需更多有關 Sun Cluster 指令所需的 RBAC 授權的資訊,請參閱指令線上手冊。

RBAC 授權設定檔包括一個或多個 RBAC 授權。您可以將這些許可權設定檔指定給使用者或角色,以使他們對 Sun Cluster 具有不同層次的存取權限。Sun 提供的 Sun Cluster 軟體之許可權設定檔如下所示。


備註 –

如先前 Sun Cluster 發行版本所定義的,下表列出的 RBAC 許可權設定檔繼續支援舊的 RBAC 授權。


許可權設定檔 

包含授權 

角色識別權限 

Sun Cluster 指令 

無,但包含一系列 euid=0 時執行的 Sun Cluster 指令

執行用來配置和管理叢集的特定 Sun Cluster 指令,包括以下適用於所有 Sun Cluster 指令的子指令: 

  • list

  • show

  • 狀態

scha_control(1HA)

scha_resource_get(1HA)

scha_resource_setstatus(1HA)

scha_resourcegroup_get(1HA)

scha_resourcetype_get(1HA)

Solaris 基本使用者 

此現有的 Solaris 許可權設定檔包含 Solaris 授權,以及﹕ 

 
 

solaris.cluster.read

針對 Sun Cluster 指令執行列出、顯示及其他讀取作業,以及存取 Sun Cluster Manager。 

叢集作業 

此許可權設定檔為 Sun Cluster 專用,並包含以下授權: 

 
 

solaris.cluster.read

執行列出、顯示、匯出、狀態及其他讀取作業,以及存取 Sun Cluster Manager。 

  

solaris.cluster.admin

變更叢集物件狀態。 

系統管理員 

現有的 Solaris 許可權設定檔包含叢集管理設定檔所包含的相同授權。 

除其他系統管理作業之外,還執行叢集管理角色身份可以執行的相同作業。 

叢集管理 

此許可權設定檔包含叢集作業設定檔所包含的相同授權,以及以下授權﹕ 

執行叢集作業角色之身份所能執行的相同作業,以及變更叢集物件的特性。 

  

solaris.cluster.modify

 

使用 Sun Cluster 管理許可權設定檔建立與指定 RBAC 角色

使用此作業透過「Sun Cluster Management 許可權設定檔」建立新的 RBAC 角色及指定使用者給這個新角色。

Procedure如何使用 [管理角色] 工具建立角色

開始之前

若要建立角色,您必須成為指定有主要管理員許可權設定檔的角色,或以超級使用者的身份來執行。

  1. 啟動 [管理角色] 工具。

    若要執行 [管理角色] 工具,請啟動 Solaris 管理主控台,如「System Administration Guide: Security Services 」中的「How to Assume a Role in the Solaris Management Console」中所述。然後,開啟 [使用者工具集合],並按一下 [管理角色] 圖示。

  2. 啟動 [新增管理角色] 精靈。

    從 [動作] 功能表,選取 [新增管理角色],來啟動 [新增管理角色] 精靈以配置角色。

  3. 設定指定了叢集管理許可權設定檔的角色。

    使用 [下一步] 和 [上一步] 按鈕在對話方塊之間導覽。請注意,只有在您填入所有必填欄位之後,[下一步] 按鈕才會變為使用中狀態。最後一個對話方塊可讓您檢查所輸入的資料,此時您可以使用 [返回] 按鈕( 按鈕變更項目,或按一下 [完成] 按鈕以儲存新角色。以下清單為有關對話方塊欄位和按鈕的摘要。

    角色名稱

    角色短名稱。

    全名

    名稱的長版本。

    說明

    角色說明。

    角色 ID 編號

    自動遞增之角色的 UID。

    角色 Shell

    可用於角色的設定檔 shell:管理員的 C shell、管理員的 Bourne shell 或管理員的 Korn shell。

    建立角色郵件清單

    為指定了此角色的使用者建立郵件清單。

    可用的許可權/授與的許可權

    指定或移除角色的許可權設定檔。

    請注意,系統不會阻止您多次輸入相同的指令。指定給許可權設定檔中首次出現的指令之性質具有優先順序,而之後出現的所有相同指令將被忽略。使用向上箭頭和向下箭頭來變更順序。

    伺服器

    主目錄的伺服器。

    路徑

    主目錄路徑。

    增加

    新增可承擔此角色的使用者。必須在相同範圍內。

    刪除

    刪除指定給此角色的使用者。


    備註 –

    您需要首先將此設定檔置於指定給角色的設定檔清單中。


  4. 將需要使用 Sun Cluster Manager 功能或 Sun Cluster 指令的使用者增加到新建立的角色中。

    您使用 useradd(1M) 指令將使用者帳號增加至系統。-P 選項指定角色至使用者帳號。

  5. 在您已增加使用者後,按一下 [完成]。

  6. 開啟終端機視窗並成為 root

  7. 啟動與停止名稱服務快取常駐程式。

    新角色直到重新啟動名稱服務快取常駐程式後才會生效。在成為 root 之後,鍵入以下文字:


    # /etc/init.d/nscd stop
    # /etc/init.d/nscd start
    

Procedure如何經由指令行建立角色

  1. 成為超級使用者,或成為提供 solaris.cluster.admin RBAC 授權的角色。

  2. 選取建立角色的方法﹕

    • 對於本機範圍內的角色,請使用 roleadd(1M) 指令指定新的本機角色及其特性。

    • 或者,對於本機範圍內的角色,可以使用 type=role 來編輯 user_attr(4) 檔案,以增加使用者。

      請僅在緊急情況下使用此方法,因為此方法在輸入時很容易出錯。

    • 對於名稱服務內的角色,請使用 smrole(1M) 指令指定新角色及其屬性。

      此指令需要超級使用者授權或能夠建立其他角色的角色授權。您可以將 smrole 套用至所有的名稱服務。此指令作為 Solaris 管理主控台伺服器的用戶端執行。

  3. 啟動與停止名稱服務快取常駐程式。

    新角色直到重新啟動名稱服務快取常駐程式後才會生效。身為 root,請輸入以下文字:


    # /etc/init.d/nscd stop
    # /etc/init.d/nscd start
    

範例 2–1 使用 smrole 指令建立自訂操作者角色

以下序列說明了如何使用 smrole 指令建立角色。在此範例中,建立了新版本的操作者角色,並且為其指定了標準操作者許可權設定檔以及媒體復原許可權設定檔。


% su primaryadmin 
# /usr/sadm/bin/smrole add -H myHost -- -c "Custom Operator" -n oper2 -a johnDoe \
-d /export/home/oper2 -F "Backup/Restore Operator" -p "Operator" -p "Media Restore"

Authenticating as user: primaryadmin

Type /? for help, pressing <enter> accepts the default denoted by [ ]
Please enter a string value for: password :: <type primaryadmin password>

Loading Tool: com.sun.admin.usermgr.cli.role.UserMgrRoleCli from myHost
Login to myHost as user primaryadmin was successful.
Download of com.sun.admin.usermgr.cli.role.UserMgrRoleCli from myHost was successful.

Type /? for help, pressing <enter> accepts the default denoted by [ ]
Please enter a string value for: password ::<type oper2 password>

# /etc/init.d/nscd stop
# /etc/init.d/nscd start

若要檢視新建立的角色 (以及任何其他角色),請使用帶 list 選項的 smrole,如下所示:


# /usr/sadm/bin/smrole list --
Authenticating as user: primaryadmin

Type /? for help, pressing <enter> accepts the default denoted by [ ]
Please enter a string value for: password :: <type  primaryadmin password>

Loading Tool: com.sun.admin.usermgr.cli.role.UserMgrRoleCli from myHost
Login to myHost as user primaryadmin was successful.
Download of com.sun.admin.usermgr.cli.role.UserMgrRoleCli from myHost was successful.
root                    0               Super-User
primaryadmin            100             Most powerful role
sysadmin                101             Performs non-security admin tasks
oper2                   102             Custom Operator

修改使用者的 RBAC 屬性

您可以透過使用者帳號工具或指令行修改使用者的 RBAC 特性。若要修改使用者的 RBAC 特性,請選擇以下其中一種程序。

Procedure如何使用 [使用者帳號] 工具修改使用者的 RBAC 特性

開始之前

若要修改使用者的特性,您必須做為 root 使用者執行使用者工具集合,或成為指定有主要管理員許可權設定檔的角色。

  1. 啟動 [使用者帳號] 工具。

    若要執行使用者帳號工具,您需要啟動 Solaris 管理主控台,如「System Administration Guide: Security Services」中的「How to Assume a Role in the Solaris Management Console」中所述。然後,開啟 [使用者工具集合],並按一下使用者帳號圖示。

    啟動 [使用者帳號] 工具後,現有使用者帳號的圖示將顯示在檢視窗格中。

  2. 按一下要變更的使用者帳號圖示,並從 [動作] 功能表選取 [屬性] (或僅按兩下使用者帳號圖示)。

  3. 在對話方塊中按一下所要變更屬性的適當標籤,如下所示﹕

    • 若要變更指定給使用者的角色,請按一下 [角色] 標籤,並將要變更的角色指定移至適當的欄﹕[可用角色] 或 [指定的角色]。

    • 若要變更指定給使用者的許可權設定檔,請按一下 [許可權] 標籤,並將其移至適當的欄:[可用許可權] 或 [指定的許可權]。


      備註 –

      避免直接指定許可權設定檔給使用者。較好的方法是要求使用者成為角色以執行特權應用程式。此策略可防止使用者濫用特權。


Procedure如何經由指令行修改使用者的 RBAC 屬性

  1. 成為超級使用者,或成為提供 solaris.cluster.modify RBAC 授權的角色。

  2. 選擇適當的指令:

    • 若要變更指定給在本機範圍內定義的使用者的授權、角色或許可權設定檔,請使用 usermod(1M) 指令。

    • 此外,若要變更指定給在本機範圍內定義的使用者的授權、角色或許可權設定檔,還可以編輯 user_attr 檔案。

      請僅在緊急情況下使用此方法,因為此方法在輸入時很容易出錯。

    • 若要變更指定給在名稱服務內定義的使用者的授權、角色或許可權設定檔,請使用 smuser(1M) 指令。

      此指令需要超級使用者授權或能夠變更使用者檔案的角色授權。您可以將 smuser 套用至所有的名稱服務。smuser 作為 Solaris 管理主控台伺服器的用戶端執行。