適用於 Solaris 2.6 的 Solaris Resource Manager 1.0 系統管理指南(SPARC 平台版)

帳號管理

當 Solaris Resource Manager 帳號管理 PAM 模組取得控制權時,可以﹕

  1. 決定 Solaris Resource Manager 是否已經安裝與啟動,否則會要求 PAM 系統忽略此模組,

  2. 決定使用者是否擁有一個 lnode,否則會呼叫一個可由管理員設置的 'no lnode' 指令集,

  3. 決定是否使用者有權使用所要求的服務及裝置,

  4. 決定是否使用者已經超出警告的限制,否則拒絕其登入要求,

  5. 呼叫一個可由管理員設置的 'every login' 指令集。

如果上述任何一個步驟行不通,其餘的步驟也不會執行,Solaris Resource Manager 帳號管理 PAM 模組會回絕使用服務的要求。解釋訊息可能會透過服務來傳給使用者。

指令集

內定的 'missing lnode' 指令集會為使用者建立一個 lnode,並且遞送郵件以通知系統管理員。內定的指令集為 /etc/srm/nolnode,但您也可以編輯 /etc/pam.conf 並且變更 Solaris Resource Manager 帳號管理模組文字行中的 nolnode 選項值以改變內定。'every login' 指令集通常沒有設置。可以在 /etc/pam.conf 的任何 Solaris Resource Manager 帳號管理模組中新增一個 everylogin=pathname 選項以設置 'every login' 指令集。指令集會以 root 使用者的身份來調用。標準輸入、輸出及錯誤會被關閉。如果一個指令集不為零,存取會被拒絕。以環境變數來傳遞所有資訊,直接從下列服務傳給 PAM 的資訊衍生而出﹕

USER

提供給程式的登入名稱。藉由在密碼對映中查詢此名稱以辨證;如果找不到,帳號管理模組便會回報一個錯誤內碼給 PAM。

UID

被辨證的使用者 UID。就變更 UID 的服務(如 su)而言,即為引動此服務的使用者 UID;就設定 UID 的服務(如 login)而言,即為目標 UID(如 USER 的)。

RHOST

就整個網路的存取嘗試而言,即為包含發出嘗試的主機名稱。否則其值會因程式的執行方式各異而有所不同。

SERVICE

存取服務的名稱,例如 rshloginftp 等等。

TTY

在其上調用服務的 TTY 名稱。某些沒有控制終端機的服務(如 ftp),則會以稍有意義的內容來填寫此變數(例如 ftp12345,其中 12345ftpd 的處理識別器 (PID));否則讓它保持空白或是以服務名稱取而代之。

DEBUG

如果 pam.conf 檔中指定了除錯,DEBUG 即設定為真;否則設定為假。不設定其他環境變數,所以任何指令集都必須在必要時設定其本身的 PATH 變數。

內定的 'no lnode' 指令集在內定的排程群組中建立 lnode(如果密碼對映中有此類使用者,為 other;否則為 root。)並且遞送給系統管理員一個提醒郵件以將新的 lnode 移至排程階層中的適當位置。若需一個指令集範例,請參閱"預設的 'no lnode' 指令集"

PAM 與裝置群組互動

Solaris Resource Manager PAM 模組會查詢裝置階層的終端機及服務名稱,然後若超出限制或是裝置旗標求值到 'set' 的話,便回傳一個 'permission denied' 給其調用程式

所檢視的裝置類目為 終端機名稱 terminal,以及 所要求的服務類型 services。例如,一個 rlogin 嘗試可能試圖使用網路裝置群組中的一個檔案,因此為使用者測試的旗標(假設所有的旗標都設定為 group)如下所示。依照順序檢查這些旗標﹕

只有在所有存取都求值到 'set'(開啟)的時候才會被准許。此外,會依照對應的類目來檢查限制(terminalservices)。

階段作業管理

就登入式服務(在 utmp 檔中建立一個登錄)而言,PAM 的階段作業管理功能以及帳號管理功能都會被調用,如果兩者都在 /etc/pam.conf 中設置的話。

Solaris Resource Manager 產品的階段作業管理負責處理裝置的收費。它會查看使用者是否已經超出連結時間限制,或是有 onelogin 旗標求值到 set 而且已經登入;如果是的話,便防止登入。

否則,它會生成一個訊息至 limdaemon 處理以通知它有關登入以及所登入終端機的設置成本。然後會通知 kernel 目前的處理是一個 'login header process ',而必須通知 limdaemon 處理它何時逾時。

然後limdaemon 處理會追蹤連結時間限制,並且在它們快要逾期時發出警告。