6.1 永遠檢查 nssid.sh 檔案

如果下列其中一項條件成立,就必須檢查在新安裝伺服器上 /opt/novell/oes_install 中的 nssid.sh 檔案:

如果 nssid.sh 程序檔存在,您必須在伺服器上執行它,以為特定系統使用者同步檔案擁有權資訊。

下列小節說明原因。

6.1.1 系統使用者、eDirectory、NSS 以及 Linux 使用者管理

節 H.0, OES 2 系統使用者與群組中所說明,在 OES Linux 伺服器上擁有 NSS 卷冊必須修改某些系統層級,大部分的這些修改都是自動的。下列邏輯適用於:

  • 依照預設,Web 服務 (例如 Apache 與 Tomcat) 以及某些 OES 服務 (例如 NetStorage) 會在 OES Linux 伺服器上以系統建立的 POSIX 使用者身分執行

  • 這些系統建立的使用者必須能夠讀取在 OES Linux 伺服器上所有卷冊類型的資料。

  • 只有 eDirectory™ 使用者可以存取在 NSS 卷冊上的資料。

  • 因此,在伺服器上建立 NSS 卷冊時,必須將系統建立的使用者建立成 eDirectory 使用者,並為 Linux 使用者管理 (LUM) 啟用這些使用者,這樣它們才可以同時以 eDirectory 及 POSIX 使用者的身分運作。然後系統建立的使用者必須從本地系統移除。

    如需有關 LUM 的詳細資訊,請參閱Linux 使用者管理:eDirectory 使用者的 Linux 存取權

6.1.2 系統建立的使用者會自動啟用 LUM

當在 OES 1 或 OES 2 Linux 伺服器上安裝 NSS 時,會將必須能夠存取 NSS 資料之系統建立的使用者自動建立成啟用 LUM 的 eDirectory 使用者,然後從本地伺服器移除它們。如需詳細資訊,請參閱節 H.1, 在 Linux 上建立的系統使用者節 H.3, 在 Linux 上建立的系統群組

例如,Apache Web 伺服器在所有的 OES 1 與 OES 2 Linux 伺服器上會以使用者 wwwrun 的身分執行。因此,如果 NSS 是安裝在伺服器上,則必須在 eDirectory 中建立 wwwrun 使用者、為它們啟用 LUM 功能,然後從本地伺服器移除它們。如何將 UID 指定給在 eDirectroy 中建立的使用者須視先安裝哪一個版本的 OES 而定。

如果先安裝含有 NSS 的 OES 1 伺服器

當您安裝 SLES 9 伺服器 (以及擴大來看加上 OES 1) 與 Apache Web 伺服器時,就會指定系統產生的 UID 給系統建立的 wwwrun 本地使用者。例如,它有可能將 6 指定為其 UID。

如果您在伺服器上安裝 NSS,則在初次安裝或之後的安裝期間,會使用與儲存為屬性的本地 wwwrun 使用者相同之系統產生的 UID (6),在 eDirectory 中自動建立 wwwrun 使用者,並且從伺服器移除本地 wwwrun 使用者。

每次 Apache Web 伺服器啟動時,它會以儲存在 eDirectory 中的 wwwrun 使用者帳戶身分來執行,並且因為 LUM 的緣故可以做為本地使用者來運作。wwwrun 使用者建立和使用的所有檔案會顯示檔案擁有者具有值為 6 的 UID。因為在 eDirectory 中的 wwwrun 具有值為 6 的 UID,所以可以啟動和執行 Apache Web 伺服器。

如果先安裝含有 NSS 的 OES 2 伺服器

從 SLES 10 SP1 (以及擴大來看加上 OES 2) 開始,就指定標準的 UID 給系統建立的本地使用者。例如,Apache Web 伺服器使用的 wwwrun 使用者永遠都以 30 做為其 UID。OES 2 特有但不屬於 SLES 10 基礎系統一部分的使用者與群組,也會有 SLES 10 SP1 從未指定給它建立的其他使用者之標準 UID。

如果您在 OES 2 Linux 伺服器上安裝 NSS,而且 OES 2 伺服器是已安裝 NSS 之網路樹中的第一部伺服器,則會使用其儲存為屬性的 UID (30) 在 eDirectory 中自動建立 wwwrun 使用者,並且從伺服器移除本地 wwwrun 使用者。

每次 Apache Web 伺服器啟動時,它會以實際儲存在 eDirectory 中的 wwwrun 使用者帳戶身分來執行,並且因為 LUM 的緣故可以做為本地使用者來運作。wwwrun 使用者建立和使用的所有檔案會顯示檔案擁有者具有值為 30 的 UID。因為在 eDirectory 中的 wwwrun 具有值為 30 的 UID,所以可以啟動和執行 Apache Web 伺服器。

6.1.3 OES 安裝會檢查 UID 衝突

對於每個安裝到網路樹中的其他 OES 1 或 OES 2 Linux 伺服器,當安裝 NSS 時 (初次或之後的安裝),安裝會檢查以查看在伺服器上的系統使用者 UID 是否符合在 eDirectory 中對應的系統使用者 UID。在這些後續的伺服器安裝期間發生不協調的可能性,須視在網路樹中第一次及後續是安裝哪些版本的 OES Linux 而定。

表 6-1 本地系統使用者與 eDirectory 之間潛在的 UID 衝突

在網路樹中第一次安裝含有 NSS 的 OES Linux 伺服器版本

在網路樹中後續安裝含有 NSS 的 OES Linux 伺服器版本

衝突潛在性/系統動作

OES 1

OES 1

UID 可能不協調,但是除非兩個安裝都相同,否則不協調是有可能發生的。

例如,在 eDirectory 以及本地伺服器中的 wwwrun UID 可能分別是 6 與 7。

如果 UID 不相符,OES 2 安裝會建立 nssid.sh 檔案。

例如,執行程序檔會將系統檔案中所有值為 7 的 UID 變更成 6。

OES 2

不協調是非常有可能的。

例如,wwwrun 的 eDirectory UID 可能為 6,但是在 OES 2 Linux 伺服器上 wwwrun 的 UID 卻為 30。

如果 UID 不相符,OES 2 安裝會建立 nssid.sh 檔案。

例如,執行程序檔,將系統檔案中所有值為 30 的 UID 變更成 6。

OES 2

OES 1

不協調是非常有可能的。

例如,wwwrun 的 eDirectory UID 為 30,但是在 OES 1 伺服器上 wwwrun 的 UID 卻可能為 6。

如果 UID 不相符,OES 2 安裝會建立 nssid.sh 檔案。

例如,執行程序檔,將系統檔案中所有值為 6 的 UID 變更成 30。

OES 2

在 eDirectory 與 OES 2 伺服器中 wwwrun 的 UID 是 30。不需要任何 nssid.sh 檔案。

6.1.4 建立 nssid.sh 可以為所有受影響的伺服器檔案同步 UID

OES 2 Linux 安裝會檢查本地系統建立的使用者以及儲存在 eDirectory 中相同使用者之間的 UID 衝突。當它發現衝突時,它會在 /opt/novell/oes_install 中建立名為 nssid.sh 的外圍程序程序檔,以便能快速地同步具有不協調 UID 之伺服器上的所有系統檔案。

安裝會個別分析系統建立的每個使用者與群組,並在 UID 衝突存在時,於程序檔中放置一個項目。

安裝程式不會自動執行 nssid.sh 程序檔,因為它可能會花費 10 分鐘到數個小時 (如果檔案系統非常大) 來為每個受影響的使用者與群組同步檔案 UID。

另外,安裝程式並不會警告有潛在的 UID 衝突存在。

基於這個原因,如果您在 OES 2 或 OES 1 Linux 伺服器上使用 NSS,請務必參閱表 6-1 以瞭解可能發生衝突的組合,以為每個您安裝且可能發生衝突的伺服器完成同步 UID 資訊中的指示。

6.1.5 同步 UID 資訊

在參閱表 6-1 之後,如果您的伺服器有潛在的衝突,請完成下列指示:

  1. 請以 root 使用者的身分登入伺服器。

  2. 請查看下列檔案是否存在:

    /opt/novell/oes_install/nssid.sh

  3. 如果檔案存在,請從伺服器上的指令提示符輸入下列指令來執行它:

    /opt/novell/oes_install/nssid.sh

    如果檔案不存在,就不需要執行任何動作。