轉換 Oracle® Solaris 10 至 Oracle Solaris 11.2

結束列印檢視

更新日期: 2014 年 12 月
 
 

角色、權限、特權和授權

    下列資訊描述角色、權限、特權以及授權在 Oracle Solaris 11 中的運作方式:

  • 指派授權與委任授權 – Oracle Solaris 提供授權的功能,可將特定管理權限委任給個別的使用者與角色,以實作職責區隔。在 Oracle Solaris 10 中,必須是以 .grant 結尾的授權,才能將授權委任給其他使用者。從 Oracle Solaris 11 開始,則使用 .assign.delegate 這兩個新字尾,例如,solaris.profile.assignsolaris.profile.delegate。前者會授予可將任何權限設定檔委任給任何使用者或角色的權限。後者限制性較高,只能委任已經指派給目前使用者的權限設定檔。由於已將 solaris.* 指派給 root 角色,因此這個角色可將任何授權指派給任何使用者或角色。依照預設,沒有任何設定檔會包含以 .assign 結尾的授權,以作為安全措施。

  • groupadd 指令變更 – 在建立群組時,系統會指派 solaris.group.assign/groupname 授權給管理員。這項授權提供管理員完整控制群組的權限,讓管理員可視需要修改或刪除 groupname。請參閱 groupadd(1M)groupmod(1M) 線上手冊。

  • 媒體復原權限設定檔 – 此權限設定檔與授權集可提升非 root 帳戶的特權。設定檔已存在,但不屬於任何其他權限設定檔的一部分。由於 Media Restore 權限設定檔提供整個根檔案系統的存取權,因此使用該權限設定檔可能會提升特權。可將特意更改的檔案或替代媒體復原。依照預設,root 角色含有此權限設定檔。

  • 已移除主要管理員設定檔 – 以下是提供給安裝時所建立之初始使用者的角色與權限:

    • root 角色

    • System Administrator 權限設定檔

    • 供所有以 root 角色身分執行之指令使用的 sudo 指令的存取權

  • 角色認證 – 您可以指定 userrole 作為 roleauth 關鍵字。

    您可以透過以下方式判斷已經指派給 root 角色的密碼:

    # userattr roleauth root

    沒有輸出表示尚未自訂 root 帳戶,代表密碼是 Oracle Solaris 的預設密碼,而不是使用者的密碼。

    請參閱 user_attr(4)

  • 以 root 作為角色 – 在 Oracle Solaris 11 中,root 預設為角色,因此不是匿名且不能從遠端登入系統。如需將 root 角色變更為使用者的相關資訊,請參閱Securing Users and Processes in Oracle Solaris 11.2 中的How to Change the root Role Into a User

  • Oracle Solaris 基本特權包括下列項目:

    • file_read

    • file_write

    • net_access

  • 一般 Shell 的設定檔 Shell 版本 – 在 Oracle Solaris 11 中,每個一般 Shell 都有其自己的設定檔版本。下列為可用的設定檔 Shell:

    • pfbash

    • pfcsh

    • pfksh

    • pfksh93

    • pfrksh93

    • pfsh

    • pftcsh

    • pfzsh

    請參閱 pfexec(1)

  • 權限設定檔user_attrprof_attr 以及 exec_attr 資料庫都是唯讀的。這些本機檔案資料庫是由位於 /etc/user_attr.d/etc/security/prof_attr.d 以及 /etc/security/exec_attr.d 的片段組成。這些片段並未合併成單一版本的檔案,而仍保留片段的狀態。這項變更讓套軟體可提供完整或部分的權限設定檔。使用 useraddprofiles 指令新增至本機檔案儲存庫的項目,也會新增至片段目錄中的 local-entries 檔案。若要新增或修改設定檔,請使用 profiles 指令。請參閱關於權限設定檔

  • 停止權限設定檔 – 此設定檔可讓管理員建立受限制的帳戶。請參閱Securing Users and Processes in Oracle Solaris 11.2 中的More About Rights Profiles

  • pfsh script 指令 – 此指令執行的作業與 pfsh –c script 指令相同。在此之前,除非程序檔指定設定檔 Shell 作為其第一行,否則程序檔內的指令無法利用使用權限設定檔的優點。這項規則需要您修改任何要使用權限設定檔的程序檔,現在則不需要這麼做,因為程序檔的呼叫程式 (或階段作業內的上層) 可以指定設定檔 Shell。

  • pfexec 指令 – 此指令已不再是 setuid root。執行 pfexec 指令或設定檔 Shell 時,會設定新的 PF_PFEXEC 程序屬性。然後,核心會對 exec 設定適當的特權。這項實行可確保適當地授權或限制子 Shell。

    當核心在處理 exec (2) 時,會以不同的方式處理 setuid 與 root。請注意,setuid 對於任何其他 uid 或 setgid 而言,仍與之前相同。核心會搜尋 exec_attr (4) 中 Forced Privilege 權限設定檔內的項目,以判斷程式執行時應使用的特權。程式不會以 uid root 和所有特權啟動,而是使用目前的 uid 以及只使用 Forced Privilege 執行權限設定檔已指派給該路徑名稱的其他特權來執行。