Red Hat Training
A Red Hat training course is available for Red Hat Satellite
使用者指南
使用和管理 Red Hat Network Satellite
版 2
Red Hat Engineering Content Services
摘要
序言
章 1. 使用者管理
1.1. 新增、停用,和刪除使用者帳號
過程 1.1. 新增使用者
- 請在「使用者」分頁中,點選「新建使用者」,以開啟「建立使用者」網頁。
圖形 1.1. 「建立使用者」網頁
- 請在「登錄名稱」欄位中,輸入使用者的名稱。名稱長度應至少 5 個字元。
- 請在「密碼」欄位中,輸入使用者的密碼。請重新輸入相同密碼以進行確認。
- 請在「姓名」欄位中,輸入使用者的姓名。請由下拉式選單中選擇適當的稱謂(例如:Mr、Miss、Mrs)。
- 請在「電子郵件」欄位中,輸入使用者的電子郵件位址。
- 在「時區」部份中,選擇適當的時區。
- 在「介面語言」部份中,選擇 RHN 衛星伺服器介面中欲使用的適當語言。
- 請點選「建立帳號」以建立新的使用者。使用者將會收到一封電子郵件(建立帳號時所輸入的電子郵件),以通知他們新帳號的詳細資料。
- 當帳號成功建立之後,您將會被帶到「使用者清單」網頁。若要更改新使用者的權限並設置其選項,請由清單中選擇該使用者的名稱,以顯示「使用者詳細資料」網頁,並瀏覽至適當的分頁,以進行您的變更。
過程 1.2. 停用使用者
- 由「使用者」分頁中的清單,選擇使用者的名稱,以顯示「使用者詳細資料」網頁。
- 請查看使用者是否為衛星伺服器管理員。若使用者為衛星伺服器管理員,請反選該角色旁的核取方塊,並點選「送出」。若使用者非衛星伺服器管理員,請至下一步。
- 點選「停用使用者」
圖形 1.2. 停用使用者
當再次點選時,您將會被要求確認這項動作。請檢查詳細資料,然後再次按下「停用使用者」,以進行確認。 - 當帳號成功停用後,使用者的名稱將不會再出現在「啟用中的使用者」清單中。請點選「使用者清單」選單的「已停用」連結,以檢視已停用的使用者帳號。
- 若要重新啟用使用者帳號,請檢視「已停用」清單,選取欲重新啟用之使用者帳號旁的核取方塊,並按下「重新啟用」。
過程 1.3. 刪除使用者
警告
- 由「使用者」分頁中的清單,選擇使用者的名稱,以顯示「使用者詳細資料」網頁。
- 請查看使用者是否為衛星伺服器管理員。若使用者為衛星伺服器管理員,請反選該角色旁的核取方塊,並點選「送出」。若使用者非衛星伺服器管理員,請至下一步。
- 點選「刪除使用者」。
圖形 1.3. 刪除使用者
當再次點選時,您將會被要求確認這項動作。請檢查詳細資料,然後再次按下「停用使用者」,以進行確認。 - 當帳號成功刪除後,使用者的名稱將不會再出現在「啟用中的使用者」清單中。此步驟是無法復原的。
1.2. 使用者管理
使用者角色
- 「RHN Satellite Administrator(RHN 衛星伺服器管理員)」
- 衛星伺服器管理員角色的工作包含了建立組織、管理訂閱,以及配置全域的 RHN 衛星伺服器設定。此角色不可在「使用者詳細資料」網頁中指定。已擁有 RHN 衛星伺服器管理員角色的使用者可藉由管理 → 使用者,來將該角色指定給另一位使用者。
- 「Organization Administrator(組織管理員)」
- 執行其組織中的管理動作,例如使用者、系統,以及頻道上的管理動作。組織管理員會自動地被授予其它角色的管理權限(以灰階的核取方塊顯示)。
- 「Activation Key Administrator(啟動金鑰管理員)」
- 執行啟動金鑰功能,例如建立、修改和刪除帳號中的金鑰。
- 「Channel Administrator(頻道管理員)」
- 提供軟體頻道和組織中相關的完整存取權限。可執行像是使頻道可全域訂閱、建立新頻道,和管理頻道中套件的工作。
- 「Configuration Administrator(配置管理員)」
- 擁有配置頻道和組織相關的完整存取權限。可執行組織中的頻道和管理配置工作。
- 「Monitoring Administrator(監控管理員)」
- 可執行偵測的排程,並監督其它監控設備。只有啟用了監控的 RHN 衛星伺服器可擁有此角色。
- 「System Group Administrator(系統群組管理員)」
- 此角色擁有系統和系統群組的完整權限。可執行例如建立新系統群組、刪除已分配的系統群組、新增系統至群組,以及管理使用者之群組存取權限的管理動作。
章 2. 自動化同步
cron
進行。
過程 2.1. 自動化同步
- 請切換為 root 使用者,並在文字編輯器中開啟
crontab
:crontab -e
注意
crontab
就預設值會開啟於 vi 中。若要更改此特性,請將EDITOR
變數更改為您偏好的文字編輯器名稱。 - 請在
crontab
中,使用前五個欄位(分鐘、小時、日、月,以及星期)來排程同步化。若要建立隨機的同步化時間,請使用下列項目:0 1 * * * perl -le 'sleep rand 9000' && satellite-sync --email >/dev/null 2>1
此crontab
項目將會於 01:00 至 03:30 之間,進行隨機的同步工作。它將會由cron
丟棄stdout
和stderr
,以避免重複來自於satellite-sync
的訊息。您可視需求加入其它選項。 - 若要儲存
crontab
,只要由文字編輯器中退出即可。新的cron
規則將會即刻生效。
章 3. 備份和復原
3.1. 備份
過程 3.1. 備份嵌入的資料庫
- 透過
stop
指令來停用 RHN 衛星伺服器:rhn-satellite stop
- 切換為 Oracle 使用者,並透過使用
db-control
工具程式來建立備份:su - oracle db-control backup [directory]
將 directory 取代為您希望儲存您資料庫備份的絕對路徑。這項程序將會花上數分鐘。 - 切換回 root 使用者,並啟動衛星伺服器:
exit rhn-satellite start
- 切換為 Oracle 使用者,並使用
db-control
的examine
選項來檢查備份時間戳,並判斷是否有任何遺失的檔案:su - oracle db-control examine [directory]
您亦可使用db-control
的verify
選項來進行一項詳細的檢視,這包含檢查備份中各個檔案的 md5sum。db-control verify [directory]
若驗證成功的話,directory 的內容便可安全地被使用來復原資料庫。
注意
備份系統檔案
/etc/sysconfig/rhn/
/etc/rhn/
/etc/sudoers
/etc/tnsnames.ora
/var/www/html/pub/
/var/satellite/redhat/[0-9]*/
(此乃所有自訂 RPM 的位置)/root/.gnupg/
/root/ssl-build/
/etc/dhcpd.conf
/etc/httpd/
/tftpboot/
/var/lib/cobbler/
/var/lib/nocpulse/
/var/lib/rhn/kickstarts/
/var/www/cobbler/
/var/satellite/
也備份。此乃 Red Hat RPM 軟體庫的副本,並能在失效復原時,省去大量的資料下載。它可透過 satellite-sync
工具重新產生。若您正在使用一部離線的衛星伺服器,您必須備份 /var/satellite/
,才能由失效狀態復原。
satellite-sync
工具重新同步,並且需要安裝 /root/ssl-build/rhn-org-httpd-ssl-key-pair-MACHINE_NAME-VER-REL.noarch.rpm
套件。另外,您亦可重新安裝 RHN 衛星伺服器,而不重新註冊它。這可透過取消或跳過 Red Hat Network 註冊,以及 SSL 憑證產生部份來達成。
3.2. 由備份復原
過程 3.2. 由備份復原嵌入的資料庫
- 透過
stop
指令來停用 RHN 衛星伺服器:rhn-satellite stop
- 切換為 Oracle 使用者,並透過
db-control
工具程式來復原備份:su - oracle db-control restore [directory]
請將 directory 取代為包含備份的位置的絕對路徑。這項程序將會在復原資料庫之前,驗證備份的內容。這項程序將會花上幾分鐘。 - 切換回 root 使用者,並啟動衛星伺服器:
exit rhn-satellite start
- 無論您是要備份外部或嵌入的資料庫,當衛星伺服器由備份復原時,您應執行下列指令,以在下次
rhn-search
服務啟用時,排程搜尋索引的重新建立:/etc/init.d/rhn-search cleanindex
3.3. 自動備份
cron
。
過程 3.3. 自動化備份
backup-db.sh
的新檔案,並包含下列 script。此 script 將會停用衛星伺服器,執行一項資料庫備份,並重新啟動衛星伺服器。
#!/bin/bash { /usr/sbin/rhn-satellite stop su - oracle -c' d=db-backup-$(date "+%F"); mkdir -p /tmp/$d; db-control backup /tmp/$d '; /usr/sbin/rhn-satellite start } &> /dev/null
- 請建立一個名為
move-files.sh
的新檔案,並包含下列 script。此 script 將會使用rsync
來將備份檔案移至一個目錄中,以進行儲存:#!/bin/bash rsync -avz /tmp/db-backup-$(date "+%F") [destination] &> /dev/null
請將 [destination] 替換為備份目錄的路徑。此外,下列 script 使用了scp
來達到相同的目的:#!/bin/bash scp -r /tmp/db-backup-$(date "+%F") [destination] &> /dev/null
- 切換為 root 使用者,並在文字編輯器中開啟
crontab
:crontab -e
注意
crontab
就預設值會在 vi 中開啟。若要更改此特性,請將EDITOR
變數更改為您希望使用的文字編輯器名稱。 - 請使用
crontab
中的前五個欄位(分、時、日、月,與星期)來排程備份 script 以執行:0 3 * * * backup-db.sh 0 6 * * * move-files.sh
此crontab
項目將會於 03:00 執行備份,並在 06:00 傳輸備份檔案。其它選項亦可視需求加入。您亦可包含一份清除 script,以移除較舊的備份目錄,並避免備份儲存空間滿出。 - 若要儲存
crontab
,只要退出文字編輯器即可。新的cron
規則將會即刻生效。
章 4. 複製機器
spacewalk-clone-by-date
這項指令能讓 RHN 衛星伺服器使用者根據 Red Hat Enterprise Linux(RHEL)系統所能開始使用勘誤的日期,建立自訂的 RHEL 頻道副本。
4.1. 功能
spacewalk-clone-by-date
所包含的功能如下:
- 將頻道的狀態複製為特定日期時的狀態
- 透過 script 和範本檔案自動化複製程序
- 由頻道移除或阻擋套件
- 移除父與子頻道中的套件相依性
- 篩選而針對於勘誤進行動作,並忽略其它項目?比方說,僅針對於安全性勘誤進行動作,並忽略錯誤修正與功能更新。
注意
spacewalk-clone-by-date
指令須以 root 使用者 執行,並且 username
必須是組織管理員(Organizational Administrator)或是頻道管理員(Channel Administrator)。
4.2. 指令列選項
表格 4.1. 可用的指令列選項
選項 | 定義 |
---|---|
-h, --help | 顯示說明檔案。 |
-c CONFIG, --config=CONFIG | 允許使用者提供指定了所有選項的配置檔案。任何可在指令列上執行的選項,皆可指定於此配置檔案中。此配置檔案能讓使用者為其希望複製的頻道設定複雜的頻道清單,並將確切的指令儲存稍後使用。 |
-u USERNAME, --username=USERNAME | 指定欲使用來登入衛星伺服器的使用者名稱。 |
-p PASSWORD, --password=PASSWORD | 為使用者名稱指定密碼 |
-s SERVER, --server=SERVER | 用於 api 連線的伺服器 URL。預設值為 https://localhost/rpc/api |
-l CHANNELS, --channels=CHANNELS | 指定欲複製哪些頻道。原始複製配對中必須指定頻道標籤。當指定複製配對時,請記得以空格來將它們區隔開來。額外頻道可透過使用 --channels 數次來指定。 |
-b BLACKLIST, --blacklist=BLACKLIST | 欲從複製的勘誤中排除、以逗號區隔開的套件名稱(或正規表示式),僅適用於新增的套件。 |
-r REMOVELIST, --removelist=REMOVELIST | 欲從目標頻道中排除、以逗號區隔開的套件名稱(或正規表示式),所有套件均可移除。 |
-d TO_DATE, --to_date=TO_DATE | 將勘誤複製為指定日期的狀態(YYYY-MM-DD)。能讓使用者複製原始套件以及任何特定勘誤(發佈於原始頻道建立時,直到指定的 TO_DATE 參數之間)。您可取得頻道在指定的 TO_DATE 時,基於時間的 snapshot。 |
-y, --assumeyes | 假設所有出現的提示的回應皆為「是」。此乃用於自動化複製程序。 |
-m, --sample-config | 印出完整的配置檔案範本並退出。 |
-k, --skip_depsolve | 跳過所有相依性解析程序(不建議)。 |
-v, --validate | 在指定的軟體庫上執行 repoclosure。 |
-g, --background | 在背景中複製勘誤。在複製完成之前,提示會回傳較快。 |
-o, --security_only | 只複製安全性勘誤(以及其相依項目)。這項指令可與 --to_date 指令結合使用,以便只複製指定日期之前所發佈的安全性勘誤。 |
4.3. 使用範例
rhel-i386-server-5
頻道在 2012 年 1 月 1 日時的狀態複製入名為 my-clone-RHEL-5 的頻道中。
# spacewalk-clone-by-date --username=your_username --password=your_password --server=satellite_server_url --channels=rhel-i386-server-5 my-clone-RHEL-5 --to_date=2012-01-01
# spacewalk-clone-by-date --username=your_username --password=your_password --server=satellite_server_url --channels=rhel-i386-server-5 my-clone-RHEL-5 --to_date=2012-01-01 --security_only --background --blacklist=kernel,vim-extended --assumeyes
章 5. 監控
過程 5.1. 監控表格空間
- 在 Oracle 資料庫中,時常檢查表格空間是否有足夠空間是非常重要的。請切換使用者為
Oracle
使用者,並發出db-control report
指令:su - oracle db-control report Tablespace Size Used Avail Use% DATA_TBS 4.8G 3.9G 996M 80% SYSTEM 250M 116M 133M 46% TOOLS 128M 3M 124M 2% UNDO_TBS 1000M 61M 938M 6% USERS 128M 64K 127M 0%
- 若表格空間滿出,您可透過
db-control extend
指令,以及欲擴展的表格空間之名稱來擴展它:db-control extend tablespace
過程 5.2. 監控 RHN 衛星伺服器的程序
- 使用
rhn-satellite status
指令來驗證衛星伺服器程序是否有在運作:rhn-satellite status
章 6. OpenSCAP
6.1. OpenSCAP 功能
- 驗證系統是否標準化的工具RHN 衛星伺服器自版本 5.5 起,包含了內建的 OpenSCAP 以提供稽核功能。您僅需要透過網站介面為系統排程及檢視規範掃瞄即可。
- SCAP 內容若您理解 XCCDF 或是 OVAL,您亦可重頭新建 SCAP 的內容。此外,您亦可使用另一選項。XCCDF 內容經常會透過開放式原始碼使用條款線上發佈,並且此內容可自訂化以適合您使用。
注意
Red Hat 支援使用範本來評估您的系統。然而,Red Hat 不支援自訂編輯這些範本。這些群組的部分範例為:- The United States Government Configuration Baseline(USGCB)for RHEL5 Desktop — 聯邦單位系統的官方 SCAP 內容,此內容是於 NIST,與 Red Hat, Inc. 合作開發而成,而美國國防部(DoD)則使用 OVAL。
- 社群提供的內容
- RHEL6 的 SCAP 安全性指南 — 源自於 USGCB 需求、由社群所維護的內容,以及受到廣泛接受,及適用於桌面系統、伺服器與 ftp 伺服器的安全性政策。
- RHEL6 的 OpenSCAP 內容 — RHEL 6 Optional 頻道中的 openscap-content 套件亦透過範本提供了 RHEL 6 系統的預設內容指南。
6.2. RHN 衛星伺服器中的 OpenSCAP
6.2.1. 先決條件
SCAP 需要這些套件:
- 伺服器:RHN 衛星伺服器 5.5
- 客戶端:spacewalk-oscap 套件(可由 RHN 工具子頻道取得)
排程掃瞄需擁有管理權利。
客戶端:將 XCCDF 內容發佈至客戶端機器
- 傳統方式(CD、USB、nfs、scp、ftp)
- 衛星伺服器 Script
- RPM建議使用自訂的 RPM 來將 SCAP 內容發佈至其它機器上。RPM 套件可透過簽章與驗證,以確保其完整性。您可透過使用者介面來安裝、移除和驗證 RPM 套件。
6.2.2. 執行稽核掃瞄
過程 6.1. 透過網站介面掃瞄
- 登入衛星伺服器網站介面。
- 點選系統 → 目標系統。
- 點選稽核 → 排程
- 填入
排程新的 XCCDF 掃瞄
表格:- 指令列引數:您可在此欄位中加入 oscap 工具的額外引數。只有兩項指令列引數是被允許的。它們乃:
--profile PROFILE
— 由 XCCDF 文件選擇特定設定檔。設定檔乃透過 XCCDF xml 檔案所決定,並且可透過使用Profile id
標籤來檢查。例如:Profile id="RHEL6-Default"
注意
特定版本的 OpenSCAP 需使用 --profile 指令列引數,否則掃瞄將會失敗。--skip-valid
— 不驗證輸入/輸出檔案。沒有正確格式的 XCCDF 內容的使用者,可選擇使用此選項,以跳過檔案驗證程序。若沒使用任何指令列引數,它將會使用預設設定檔。 - XCCDF 文件的路徑:此乃必填的欄位。
path
參數指向了客戶端系統上的內容位置。例如:/usr/local/scap/dist_rhel6_scap-rhel6-oval.xml
警告
xccdf 內容在遠端系統上執行前,會先經過驗證。指定無效的引數可能會造成 spacewalk-oscap 無法驗證或執行。基於安全性考量,「osccap xccdf eval」指令僅接受有限的參數。
- 請執行
rhn_check
以確認客戶端系統可掌握此動作。rhn_check -vv
注意
此外,若rhnsd
或osad
在客戶端系統上執行的話,這些伺服器將會掌握動作。若要檢查它們是否正在執行中,請執行:service rhnsd start
或是service osad start
圖形 6.1. 透過網站 UI 排程掃瞄
過程 6.2. 透過 API 掃瞄
- 選擇既有的 script 或新建 script,以透過
system.scap.scheduleXccdfScan
(前端 API)來排程系統掃瞄。範例 script:#!/usr/bin/python client = xmlrpclib.Server('https://spacewalk.example.com/rpc/api') key = client.auth.login('username', 'password') client.system.scap.scheduleXccdfScan(key, 1000010001, '/usr/local/share/scap/usgcb-rhel5desktop-xccdf.xml', '--profile united_states_government_configuration_baseline')
而- 1000010001 代表
system ID (sid)
。 /usr/local/share/scap/usgcb-rhel5desktop-xccdf.xml
為指向了客戶端系統上,內容位置的路徑參數。在此情況下,它會假設 USGSB 內容位於/usr/local/share/scap
目錄中。--profile united_states_government_configuration_baseline
代表 oscap 工具的額外引數。在此情況下,它使用了 USCFGB。
- 在任何系統的指令列介面上執行此 script。系統需安裝了適當的 python 與 xmlrpc 函式庫。
- 請執行
rhn_check
以確認客戶端系統可掌握此動作。rhn_check -vv
注意
此外,若rhnsd
或osad
在客戶端系統上執行的話,這些伺服器將會掌握動作。若要檢查它們是否正在執行中,請執行:service rhnsd start
或是service osad start
6.2.3. 如何檢視 SCAP 結果
- 透過網站介面。當動作被執行後,結果應顯示在系統的「稽核」分頁上。此網頁詳述於 節 6.2.4, “OpenSCAP 衛星伺服器網頁” 中。
- 透過
system.scap
處理程式中的 API 功能。 - 藉由執行下列指令,以透過衛星伺服器的
spacewalk-reports
工具檢視:# /usr/bin/spacewalk-reports system-history-scap # /usr/bin/spacewalk-reports scap-scan # /usr/bin/spacewalk-reports scap-scan-results
6.2.4. OpenSCAP 衛星伺服器網頁
6.2.4.1. 「稽核」
- 稽核 → 所有掃瞄
- 「所有掃瞄」乃在您選擇了「稽核」分頁後,所會出現的預設網頁。此網頁顯示了使用者允許檢視的已完成 OpenSCAP 掃瞄。掃瞄的權限是由系統權限所衍生出的。
圖形 6.2. 稽核 ⇒ 所有掃瞄
每項掃瞄皆會顯示下列資訊:- 系統
- 掃瞄的目標系統
- XCCDF 設定檔
- 經過評估的設定檔
- 已完成
- 完成時間
- 已滿足
- 已滿足/通過的規則數量。若評估的結果乃「通過」或「已修正」,則規則便會被視為「已滿足」。
- 未滿足
- 未滿足/失敗的規則數量。若評估的結果為「失敗」,則規則便會被視為「未滿足」。
- 不明
- 尚未評估的規則數量。若評估的結果為「錯誤」、「不明」或「未檢查」,則規則便會被視為「不明」。
XCCDF 規則的評估程序亦可能會回傳像是「Informational(資訊性質)」、「Not Applicable(不適用)」或是「not Selected(未選擇)」的狀態。在此類型的情況下,規則不會包含在此網頁上的數據中。欲取得相關資訊,請參閱系統詳細資訊 → 稽核。 - 稽核 → XCCDF Diff
- XCCDF Diff 是個可檢視兩項 XCCDF 掃瞄比對的應用程式。它會顯示兩項掃瞄的 metadata,以及掃瞄結果的清單。
圖形 6.3. 稽核 ⇒ XCCDF Diff
您可藉由點選位於「列出掃瞄」網頁上的圖像,以直接存取相似掃瞄的diff
,或是您亦可藉由指定掃瞄 id,以針對於任意的掃瞄進行diff
。僅顯示在一項比對過的掃瞄中的項目將會被視為「varying(偏差)」。偏差項目將以米黃色強調。可能的比對模式有三種:顯示所有掃瞄項目的「完整比對」、僅顯示受到變更項目的「只有受到變更的項目,以及僅顯示未受到變更或相似項目的「只有無偏差的項目」。 - 稽核 → 進階搜尋
- 「搜尋」網頁能讓您根據指定的條件搜尋您的掃瞄,例如:
- 規則結果
- 目標機器
- 掃瞄時間
圖形 6.4. 稽核 ⇒ 進階搜尋
搜尋會回傳一列結果清單,或是包含在結果中的一列掃瞄清單。
6.2.4.2. 系統 → 系統詳細資訊 → 稽核
- 系統 → 系統詳細資訊 → 稽核 → 列出掃瞄
圖形 6.5. 系統 ⇒ 系統詳細資訊 ⇒ 稽核 ⇒ 列出掃瞄結果
此子分頁會列出在系統上所有已完成的掃瞄祇概要。欄位如下:表格 6.1. OpenSCAP 掃瞄標籤
欄位標籤 定義 XCCDF 測試結果 提供掃瞄詳細結果之連結的掃瞄測試結果名稱。 已完成 掃瞄完成時的確切時間 規範 以所使用之標準為基礎的規範無權重通過/失敗比例 P 通過的檢測數量 F 失敗的檢測數量 E 進行掃瞄時所遇上的錯誤 U 不明 N 對機器不適用 K 未檢查 S 未選擇 I 資訊性 X 已修正 總數 檢測總數 每一行皆以一個圖像為起始,並顯示了與先前相似掃瞄之間的比對結果。這些圖像顯示了在新的掃瞄中:- — 與先前的掃瞄相較之下無差異。
- — 任意差異
- — 重大差異,比先前掃瞄還要多的失敗,或是還要少的成功結果。
- — 找不到可相比較的掃瞄,因此未進行任何比對。
- 系統 → 系統詳細資訊 → 稽核 → 掃瞄詳細資訊
- 此網頁包含了單個掃瞄的結果。它可分為兩個部分:
- XCCDF 掃瞄的詳細資訊掃瞄的詳細資訊可提供您:
- 檔案路徑的一般資訊
- 使用了哪些指令列引數
- 排程的使用者
- 硬體檢測辨識元與版本為何
- 設定檔辨識元
- 設定檔標題
- 起始及完成時間
- 任何錯誤輸出。
- XCCDF 規則結果規則結果提供了完整的 XCCDF 規則辨識元清單,它可為各項規則結果辨識標籤及結果。此清單能以特定規則進行篩選。
- 系統 → 系統詳細資訊 → 稽核 → 排程
- 您能在此子分頁中排程新掃瞄。您可提供額外的指令列引數,以及系統上正要被掃瞄的 XCCDF 文件的路徑。根據
Schedule no sooner than
參數,掃瞄將會在下次系統被排程 check-in 衛星伺服器的時候進行。欲取得更多有關於如何透過衛星伺服器排程的相關資訊,請參閱此章節中的 過程 6.1, “透過網站介面掃瞄”。
章 7. PAM 認證
過程 7.1. 設定 PAM 認證
- 請確認您擁有最新版本的
selinux-policy-targeted
套件:# yum update selinux-policy-targeted
- 將
allow_httpd_mod_auth_pam
SELinux 布林值設為開啟:# setsebool -P allow_httpd_mod_auth_pam 1
- 請在您偏好的文字編輯器中,開啟
/etc/rhn/rhn.conf
檔案,並附加以下一行。這將會在/etc/pam.d/rhn-satellite
建立 PAM 服務檔案:pam_auth_service = rhn-satellite
- 若要設定認證,請在文字編輯器中開啟
/etc/pam.d/rhn-satellite
服務檔案,並附加適當的規則。欲取得更多有關於 PAM 配置上的詳細資訊,請參閱《Red Hat Enterprise Linux 建置指南》中的《Pluggable Authentication Modules(PAM)》。
注意
範例 7.1. 在一部 Red Hat Enterprise Linux 5 i386 系統上搭配 Kerberos 使用 PAM
/etc/pam.d/rhn-satellite
,並附加下列規則:
#%PAM-1.0 auth required pam_env.so auth sufficient pam_krb5.so no_user_check auth required pam_deny.so account required pam_krb5.so no_user_check
kpasswd
來更改密碼。請勿在 RHN 網站上更改密碼,因為此方法僅會更改衛星伺服器上的本機密碼。若該使用者使用了 PAM 的話,本機密碼將不會被套用。
範例 7.2. 使用 PAM 搭配 LDAP
/etc/pam.d/rhn-satellite
,並附加下列規則:
#%PAM-1.0 auth required pam_env.so auth sufficient pam_ldap.so no_user_check auth required pam_deny.so account required pam_ldap.so no_user_check
章 8. RPM
rpm-build
套件必須安裝在建置系統上,才可滿足最低系統需求。您可能也需要額外的套件,例如編譯器和函式庫。
過程 8.1. 建立一組 GPG 金鑰
重要
- 建立目錄以存放金鑰:
mkdir -p ~/.gnupg
- 產生金鑰配對:
gpg --gen-key
您需要選擇金鑰類型、金鑰大小,以及其有效期限(請按下 enter 來接受預設值)。您亦需要指定名稱、註解,以及電子郵件:Real name: rpmbuild Email address: rpmbuild@example.com Comment: this is a comment You selected this USER-ID: "rpmbuild (this is a comment) <rpmbuild@example.com>" Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit?
請按下 O 以存取詳細資料並繼續進行。 - 列出所有金鑰以及其指紋:
gpg --list-keys --fingerprint
- 匯出金鑰:
gpg --export --armor "rpmbuild <rpmbuild@example.com>" > EXAMPLE-RPM-GPG-KEY
- 將金鑰匯入至 RPM 資料庫,並透過以 root 身份在所有目標系統上執行
gpg --import
,以允許 RPM 原始來源和完整性驗證:rpm --import EXAMPLE-RPM-GPG-KEY
這將會在進行客戶端安裝時自動發生,並且無須手動式執行。 - 當 RPM 被建立後,它便可由 GPG 金鑰簽署,並上載至正確的頻道:
rpm --resign package.rpm rhnpush --server=http[s]://satellite.server/APP package.rpm --channel=custom-channel-name
- 若要驗證 RPM 套件,請瀏覽至包含了該套件的目錄,並執行下列指令:
rpm –qip package.rpm rpm -K package.rpm
過程 8.2. 建置 RPM
- 請建立一個名為
rpmbuild
的無特權使用者帳號,以用來建立套件。這將能讓多個管理員共享建置環境和 GPG 金鑰。 - 請在
rpmbuild
使用者的家目錄(/home/rpmbuild
)中,建立一個名為.rpmmacros
的檔案:touch /home/rpmbuild/.rpmmacros
- 請在文字編輯器中開啟
.rpmmacros
檔案,並附加下列幾行。_gpg_name
必須符合使用來簽署 RPM 的 GPG 金鑰的名稱:%_topdir %(echo $HOME)/rpmbuild %_signature %gpg %_gpg_name rpmbuild <rpmbuild@example.com>
已定義的頂層目錄(於以上範例中的/home/rpmbuild/rpmbuild
)的目錄清單必須擁有與/usr/src/redhat
下,相同的目錄格式。
範例 8.1. RPM 規格檔案
_topdir
下的 SPECS
目錄中(如使用者的 .rpmmacros
檔案所定義)。相應的來源和升級檔應位於 SOURCES
目錄中。
Name: foo Summary: The foo package does foo Version: 1.0 Release: 1 License: GPL Group: Applications/Internet URL: http://www.example.org/ Source0 : foo-1.0.tar.gz Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root Requires: pam BuildPrereq: coreutils %description This package performs the foo operation. %prep %setup -q %build %install mkdir -p %{buildroot}/%{_datadir}/%{name} cp -p foo.spec %{buildroot}/%{_datadir}/%{name} %clean rm -fr %{buildroot} %pre # Add user/group here if needed %post /sbin/chkconfig --add food %preun if [ $1 = 0 ]; then # package is being erased, not upgraded /sbin/service food stop > /dev/null 2>&1 /sbin/chkconfig --del food fi %postun if [ $1 = 0 ]; then # package is being erased # Any needed actions here on uninstalls else # Upgrade /sbin/service food condrestart > /dev/null 2>&1 fi %files %defattr(-,root,root) %{_datadir}/%{name} %changelog * Mon Jun 16 2003 Some One <one@example.com> - fixed the broken frobber (#86434)
章 9. 開機裝置
boot.iso
。請確認此映像檔位於系統上,並記得它的所在位置。
過程 9.1. CD 開機媒介
注意
\
」代表 shell 提示中,一行指令的延續。
- 為開機映像檔建立工作目錄:
mkdir -p temp cd/isolinux
- 將開機映像檔掛載至
temp
目錄中:mount -o loop boot.iso temp
- 將 CD 開機媒介裝置所需的檔案,複製至先前建立的目錄中:
cp -aP temp/isolinux/* cd/isolinux/
- 將
temp
目錄卸載,並將cd
目錄上的使用者權限更改為可讀寫:umount temp chmod -R u+rw cd
- 切換至
./cd
目錄:cd ./cd
- 將
/usr/lib/syslinux/menu.c32
檔案複製至光碟:cp -p /usr/lib/syslinux/menu.c32 isolinux
- 使用您偏好的文字編輯器開啟
isolinux/isolinux.cfg
,並新增下列內容:mkisofs -o ./custom-boot.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot \ -boot-load-size 4 -boot-info-table -J -l -r -T -v -V "Custom RHEL Boot" .
- 視光碟開機所需,自訂化
isolinux.cfg
中的任何開機參數和目標。 - 將詳細資料燒入至光碟中,以完成程序。
過程 9.2. PXE 開機
- 為開機映像檔建立工作目錄:
mkdir -p temp pxe/pxelinux.cfg
- 將開機映像檔掛載至
temp
目錄中:mount -o loop boot.iso temp
- 將 PXE 開機裝置所需的檔案複製至先前建立的目錄中:
cp -aP temp/isolinux/* pxe/
- 將
temp
目錄卸載,並將cd
目錄上的使用者權限更改為可讀寫:umount temp chmod -R u+rw pxe
- 切換至
/pxe
目錄:cd ./pxe
- 將
/usr/lib/syslinux/menu.c32
檔案複製至/pxe
目錄中:cp -p /usr/lib/syslinux/menu.c32 .
- 將
isolinux.cfg
檔案移至pxelinux.cfg/default
:mv isolinux.cfg pxelinux.cfg/default
- 移除暫時性的檔案:
rm -f isolinux.bin TRANS.TBL
- 將
/usr/lib/syslinux/pxelinux.0
檔案複製至/pxe
目錄中:cp -p /usr/lib/syslinux/pxelinux.0 .
- 在您偏好的文字編輯器中開啟
pxelinux.cfg/default
檔案,並視 PXE 開機的需求,自訂任何開機參數和目標。
過程 9.3. USB 開機媒介
警告
/dev/loop0
來進行掛載,請確認您使用了適合您系統的正確裝置。您可透過使用 losetup -f
指令,來檢查哪個裝置是正確的。
- 為開機映像檔建立工作目錄:
mkdir -p temp usb/extlinux
- 將開機映像檔掛載至
temp
目錄中:mount -o loop boot.iso temp
- 將 USB 媒介開機裝置所需的檔案複製至先前建立的目錄中:
cp -aP temp/isolinux/* usb/extlinux/
- 將
temp
目錄卸載,並將cd
目錄上的使用者權限更改為可讀寫:umount temp chmod -R u+rw usb
- 切換至
/usb
目錄:cd ./usb
- 將
/usr/lib/syslinux/menu.c32
檔案複製至extlinux/
目錄:cp -p /usr/lib/syslinux/menu.c32 extlinux/
- 將
extlinux/isolinux.cfg
檔案移至extlinux/extlinux.conf
:mv extlinux/isolinux.cfg extlinux/extlinux.conf
- 移除暫時性的檔案:
rm -f extlinux/isolinux.bin extlinux/TRANS.TBL
- 轉換
custom-boot.img
檔案並將它複製:dd if=/dev/zero of=./custom-boot.img bs=1024 count=30000
- 找出 loopback 裝置的正確掛載位置:
losetup -f /dev/loop0
以開機映像設定 loopback 裝置:losetup /dev/loop0 ./custom-boot.img
- 開啟
fdisk
工具程式:fdisk /dev/loop0
在裝置上建立一個主要開機分割區。這可透過下列按鍵組合來達成:n p 1 Enter Enter a 1 p w - 將 master boot record(MBR)複製至 loopback 裝置:
dd if=/usr/lib/syslinux/mbr.bin of=/dev/loop0
- 將分割區對映新增至 loopback 裝置:
kpartx -av /dev/loop0
- 建立檔案系統:
mkfs.ext2 -m 0 -L "Custom RHEL Boot" /dev/mapper/loop0p1
- 掛載裝置:
mount /dev/mapper/loop0p1 temp
- 刪除暫時性的檔案:
rm -rf temp/lost+found
- 將
extlinux/
目錄複製至暫時的位置上:cp -a extlinux/* temp/
- 在暫時性的位置上安裝開機載入程式:
extlinux temp
- 卸載暫時性的位置:
umount temp
- 刪除 loopback 裝置上的分割區對映:
kpartx -dv /dev/loop0
- 刪除 loopback 裝置:
losetup -d /dev/loop0
同步檔案系統變更:sync
- 請在您偏好的文字編輯器中開啟
extlinux.conf
檔案,並視 USB 開機的需求,自訂任何開機參數和目標。 - 將映像檔傳送至一個 USB 裝置,以完成程序。請輸入裝置,並執行
dmesg
指令來檢查掛載位置。在此範例中為/dev/sdb
。卸載 USB 裝置:umount /dev/sdb
將映像複製至 USB 裝置:dd if=./custom-boot.img of=/dev/sdb
章 10. 組織
圖形 10.1. 管理
10.1. 建立組織
過程 10.1. 建立組織
- 若要新建組織,請開啟「管理」選單,並選擇「組織」=>「新建組織」。
圖形 10.2. 新建組織
- 請在提供的文字方塊中輸入組織名稱。名稱長度應介於 3 至 128 個字元。
- 請藉由提供下列資訊,來為組織建立管理員:
- 輸入組織管理員的「登錄名稱」,長度應介於 3 至 128 個字元。請考慮建立一組能與組織管理使用者名稱意義相符的登錄名稱,作為組織管理員帳號。
- 建立「密碼」並「確認」密碼。
- 輸入組織管理員的「電子郵件」地址。
- 輸入組織管理員的「名」和「姓」。
- 按下「建立組織」按鈕,以完成程序。
organization 1
這組組織管理員帳號保留給自己。這能讓他們視需求登入組織。
重要
10.2. 管理權利
rhel-server
或 rhn-tools
。管理系統權利為組織能在衛星伺服器上運作的基本需求。分配給組織的管理權利數量,與可向 RHN 衛星伺服器上的該組織註冊的最大系統數量相等,無論可用軟體權利的數量為何。比方說,若有個組織擁有 100 個 Red Hat Enterprise Linux Client 權利,不過卻只有 50 個管理系統權利,這即代表只有 50 部系統可向該組織註冊。
rhn-virtualization
套件(用於確認 Xen 與 KVM 虛擬客座端的權利計算正確)。
注意
- 「總數」:衛星伺服器的頻道權利總數。
- 「可用」:目前可配置的權利數量。
- 「使用量」:目前所有組織所使用的權利數量,與所有已配置權利總數量的比例。
organization 1
)。
- 「啟用中的使用者」:組織中的使用者數量
- 「系統」:已向組織訂閱的系統之數量。
- 「系統群組」:已向組織訂閱的群組之數量。
- 「啟動金鑰」:組織可使用的啟用金鑰之數量。
- 「Kickstart 設定檔」:組織可使用的 kickstart 設定檔之數量。
- 「配置頻道」:組織可使用的配置頻道之數量。
10.3. 在組織中配置系統
- 以使用者名稱和密碼註冊
- 若您為特定組織建立了一組使用者名稱與密碼,系統將會向該組織進行註冊。比方說,若
user-123
屬於衛星伺服器上,「Central IT」組織的成員,在任何系統上輸入下列指令,皆會使該系統向您衛星伺服器上的「Central IT」組織註冊:rhnreg_ks --username=user-123 --password=foobar
注意
rhnreg_ks
中的--orgid
參數與衛星伺服器註冊或 RHN 衛星伺服器的多重組織支援不相關。 - 以啟用金鑰註冊
- 您亦可透過一組啟用金鑰,來註冊一部組織中的系統。啟用金鑰會將系統註冊至建立了該啟用金鑰的組織。若您希望能讓使用者在無須提供某個組織的登入存取權限的情況下,向該組織註冊一部系統的話,啟用金鑰將會是個極佳的註冊方式:
rhnreg_ks --activationkey=21-myactivationkey
若要在組織之間移動系統,您亦可透過使用啟用金鑰,來以 script 自動化此移動程序。注意
啟用金鑰的前幾個字元,可使用來顯示擁有該金鑰的組織的 ID 號碼。
10.4. 組織使用者
注意
10.5. 組織信任關係
圖形 10.3. 組織信任關係
過程 10.2. 建立組織信任關係
- 點選「管理」主頁選單上的「組織」連結。
- 點選其中一個組織的名稱,並在「詳細資料」網頁中,點選「信任關係」分頁。
- 在「信任關係」分頁上,會有個清單顯示 RHN 衛星伺服器上的所有其它信任關係。若您擁有許多組織,請使用「以組織過濾」文字方塊來排序它們。
- 請點選組織名稱旁的核取方塊,以決定您希望哪個組織被納入目前組織的組織信任關係中。
- 按下「修改信任」按鈕,以建立信任。
- 私密
- 請將頻道設為私密,如此一來除了擁有它的組織以外,沒有其它任何組織可存取它。
- 保護
- 讓頻道可讓您選擇的特定信任組織存取。
- 公共
- 允許信任關係中的所有組織存取自訂頻道。
- 衛星伺服器管理員移除信任關係
- 組織管理員將頻道存取權限更改為私密
- 組織管理員將頻道存取權限更改為私密,並且未在保護的清單中包含已訂閱之系統的組織
- 組織管理員直接刪除了共享頻道
- 組織管理員刪除了某共享子頻道的父頻道
注意
過程 10.3. 遷移系統
migrate-system-profile
工具程式,來將系統遷移至其它信任的組織。此工具程式需透過指令列執行,並使用 systemID
和 orgID
來指定系統遷移以及其目標組織。衛星伺服器管理員可將一部系統由信任的組織,遷移至信任關係中的任何組織。然而,組織管理員只能將來自於他們自己組織的系統,遷移至信任關係中的另一個組織。
migrate-system-profile
指令,您需安裝 spacewalk-utils
套件,這一般就預設值會與 RHN 衛星伺服器一起安裝。當某個組織透過 migrate-system-profile
指令來遷移一部系統時,系統不會帶過任何來自於來源組織、先前的權利或頻道訂閱。然而,系統的紀錄則會被保留,並且可讓新的組織管理員存取,以簡化剩下的遷移程序,這包括訂閱至基礎頻道和取得權利。
- 請使用下列格式執行指令:
migrate-system-profile --satellite SATELLITE HOSTNAME OR IP --systemId=SYSTEM ID --to-org-id=DESTINATION ORGANIZATION ID
比方說,Finance 部門(建立於 RHN 衛星伺服器中為組織OrgID 2
)希望由 Engineering 部門遷移一部工作站(SystemID 10001020
),不過 Finance 的組織管理員沒有 RHN 衛星伺服器的 shell 存取權限。RHN 衛星伺服器的主機名稱為「satserver.example.com」。Finance 的組織管理員將需要在 shell 提示列中,輸入下列指令:migrate-system-profile --satellite satserver.example.com --systemId=10001020 --to-org-id=2
工具程式接著便會提示輸入一組使用者名稱與密碼。 - 接著,系統便能在登入 RHN 衛星伺服器網站介面時,透過「系統」網頁檢視。遷移程序是透過分配基礎頻道,並授予權利給向組織註冊的系統用戶端來完成的(可透過「事件」分頁中的系統「紀錄」網頁取得)。
圖形 10.4. 系統紀錄
- 需要一次遷移多部系統的衛星伺服器管理員,可使用
migrate-system-profile
的--csv
選項,以透過基本逗號區隔開的系統清單,來自動化這項程序。CSV 檔案中,應該要有一行包含著欲遷移之系統的 ID,以及目的地組織的 ID。其格式如下:systemId,to-org-id
比方說,systemId
能夠是1000010000
,而to-org-id
能夠是3
。CSV 的範例可看似:1000010000,3 1000010020,1 1000010010,4
附錄 A. 修訂紀錄
修訂記錄 | |||||||||
---|---|---|---|---|---|---|---|---|---|
修訂 3-5.2.400 | 2013-10-31 | Rüdiger Landmann | |||||||
| |||||||||
修訂 3-5.2 | Tue Nov 20 2012 | Terry Chuang | |||||||
| |||||||||
修訂 3-5.1 | Sun Nov 4 2012 | Terry Chuang | |||||||
| |||||||||
修訂 3-5 | Wed Sept 19 2012 | Dan Macpherson | |||||||
| |||||||||
修訂 3-4 | Fri Aug 31 2012 | Athene Chan (陳愛珍) | |||||||
| |||||||||
修訂 3-3 | Fri Aug 24 2012 | Athene Chan (陳愛珍) | |||||||
| |||||||||
修訂 3-3 | Fri Aug 24 2012 | Athene Chan (陳愛珍) | |||||||
| |||||||||
修訂 3-2 | Fri Aug 24 2012 | Athene Chan (陳愛珍) | |||||||
| |||||||||
修訂 3-1 | Fri Aug 17 2012 | Athene Chan (陳愛珍) | |||||||
| |||||||||
修訂 3-0 | Thu Aug 9 2012 | Athene Chan (陳愛珍) | |||||||
| |||||||||
修訂 2-5 | Wed Aug 1 2012 | Athene Chan (陳愛珍) | |||||||
| |||||||||
修訂 2-0 | Fri Jul 6 2012 | Athene Chan (陳愛珍) | |||||||
| |||||||||
修訂 1-5 | Mon Aug 15 2011 | Lana Brindley | |||||||
| |||||||||
修訂 1-4 | Mon Jun 20 2011 | Lana Brindley | |||||||
| |||||||||
修訂 1-3 | Mon Jun 20 2011 | Lana Brindley | |||||||
| |||||||||
修訂 1-2 | Wed Jun 15 2011 | Lana Brindley | |||||||
| |||||||||
修訂 1-1 | Fri May 27 2011 | Lana Brindley | |||||||
| |||||||||
修訂 1-0 | Fri May 6, 2011 | Lana Brindley | |||||||
| |||||||||
修訂 0-15 | Thu May 5, 2011 | Lana Brindley | |||||||
| |||||||||
修訂 0-14 | Mon May 2, 2011 | Lana Brindley | |||||||
| |||||||||
修訂 0-13 | Fri Apr 29, 2011 | Lana Brindley | |||||||
| |||||||||
修訂 0-12 | Mon Apr 18, 2011 | Lana Brindley | |||||||
| |||||||||
修訂 0-11 | Mon Apr 18, 2011 | Lana Brindley | |||||||
| |||||||||
修訂 0-10 | Mon Apr 18, 2011 | Lana Brindley | |||||||
| |||||||||
修訂 0-9 | Thu Apr 14, 2011 | Lana Brindley | |||||||
| |||||||||
修訂 0-8 | Wed Apr 13, 2011 | Lana Brindley | |||||||
| |||||||||
修訂 0-7 | Wed Mar 23, 2011 | Lana Brindley | |||||||
| |||||||||
修訂 0-6 | Mon Feb 19, 2011 | Lana Brindley | |||||||
| |||||||||
修訂 0-5 | Fri Feb 18, 2011 | Lana Brindley | |||||||
| |||||||||
修訂 0-4 | Mon Jan 10, 2011 | Lana Brindley | |||||||
| |||||||||
修訂 0-3 | Fri Jan 7, 2011 | Lana Brindley | |||||||
| |||||||||
修訂 0-2 | Wed Jan 5, 2011 | Lana Brindley | |||||||
| |||||||||
修訂 0-1 | Tue Jan 4, 2011 | Lana Brindley | |||||||
| |||||||||
修訂 0-0 | Tue Dec 21, 2010 | Lana Brindley | |||||||
|
索引
符號
- 使用者, 使用者管理
- changing 電子郵件地址, 使用者管理
- 停用, 新增、停用,和刪除使用者帳號
- 刪除(只有 RHN 衛星伺服器可執行此動作), 新增、停用,和刪除使用者帳號
- 新增, 新增、停用,和刪除使用者帳號
- 更改密碼, 使用者管理
- 角色, 使用者管理
- 使用者角色, 使用者管理
- 停用
- 使用者, 新增、停用,和刪除使用者帳號
- 先決條件
- OpenSCAP, 先決條件
- 刪除
- 使用者(只有 RHN 衛星伺服器可執行此動作), 新增、停用,和刪除使用者帳號
- 功能, OpenSCAP 功能
- 密碼
- 更改, 使用者管理
- 新增
- 使用者, 新增、停用,和刪除使用者帳號
- 稽核
- OpenSCAP, OpenSCAP
- 稽核掃瞄, 執行稽核掃瞄
- OpenSCAP, 執行稽核掃瞄
- 網站
- 使用者, 使用者管理
- 網站使用者介面
- 稽核掃瞄, 執行稽核掃瞄
- 衛星伺服器管理員, 使用者管理
- 複製機器
- spacewalk-clone-by-date, 複製機器
- 電子郵件地址
- 更改, 使用者管理
A
- API
- audit scans, 執行稽核掃瞄
O
- OpenSCAP, OpenSCAP, OpenSCAP 功能, 先決條件, 執行稽核掃瞄
P
- PAM 認證
- 實做, PAM 認證
S
- spacewalk-clone-by-date, 複製機器