5.1 設定 Linux 伺服器以進行 ZENworks 檔案存取

當您將 Linux 伺服器用作「終端」以進行 ZENworks 檔案儲存和存取時,您需要對其進行設定 (可以在安裝 ZENworks 桌面管理伺服器之前設定,也可以在安裝完成後設定),以便 ZENworks 可以稍後存取此處儲存的檔案。

附註:設定 Linux 伺服器以進行檔案存取是可選的;您可以在仍使用 Linux 終端伺服器的同時設定 NetWare® 或 Windows 伺服器來提供檔案存取權限。

本節包含有關設定 SUSE® Linux Enterprise Server (SLES) 伺服器以進行 ZENworks 檔案存取而不是設定 Novell Open Enterprise Server (OES) 伺服器以進行 ZENworks 檔案存取的資訊。OES Linux 已包含 Novell eDirectory™,並可為 Novell 儲存服務 (Novell Storage Services, NSS) 提供存取其檔案系統的權限。因此,儲存在 OES Linux 伺服器上的規則或應用程式檔案只要使用 UNC 樣式路徑 (即 \\OES_server_name/sys/public/....) 即可為不必要的 ZENworks 檔案存取進行進一步設定。

設定 SLES 伺服器以進行檔案存取,需要您設定 Samba 伺服器軟體以從 Active Directory* 領域或 eDirectory 樹狀結構獲得驗證資訊,然後在伺服器上建立一個或多個 Samba 共享。這樣即可讓目錄來管理共享。

本節旨在介紹展示如何完成必要驗證的基本方法。設定 Samba 的方式有多種;如需更多資訊,請參閱 Samba 文件集合

本小節包含以下資訊:

5.1.1 在 Active Directory 環境中設定 Linux 伺服器

如果您計劃在要安裝 ZENworks 管理伺服器的 SLES 9 或 SLES 10 伺服器上使用 Active Directory,則需要使目錄式 CIFS 可以存取您要儲存在此伺服器上以供 ZENworks 使用的應用程式和其他檔案。

重要:儘管不建議您這樣做,使用者可以從安裝有 Novell Client™ 的 Windows 工作站來存取 OES 伺服器/Samba 共享,但是您需要設定 Samba 以提供不同於 OES 伺服器名稱的 netBIOS 名稱。

本小節包含以下資訊。

設定 Samba 以使用 Kerberos

請使用下列步驟設定 SLES 9 伺服器以使用 Kerberos* 進行驗證:

  1. 編輯 Kerberos (heimdal-lib 版本 0.6 或更新版本) 組態檔案,以指示您要加入的 Active Directory 領域的名稱。

    1. 使用文字編輯器在 Linux 伺服器上開啟 /etc/krb5.conf

    2. 在檔案中尋找下列行:

      [libdefaults]
      default_realm = YOUR.KERBEROS.REALM
      
      
      [realms]
      YOUR.KERBEROS.REALMS = {
      kdc = your.kerberos.server
           }
      
    3. 按如下所示修訂下列行:

      [libdefaults]
      default_realm = DOMAIN_NAME
      
      
      [realms]
      DOMAIN_NAME = {
      kdc = wins_name
      admin_server = wins_name
      kpasswd_server = wins_name
           }
      

      範例中顯示的 DOMAIN_NAME 值是您要加入的 Active Directory 領域之完全合格的名稱 (例如 RESEARCH.MYLOCATION.DIGITALAIRLINES.COM)。請確定使用大寫字元輸入此名稱。

      修訂後的 kdc 行、新增的 admin_server 與 kpasswd_server 行中顯示的 wins_name 值是領域中的主要領域控制器或任意領域控制器 (例如 DC1)。

  2. 編輯 Samba 伺服器組態檔案,以指示 Kerberos 用於將使用者驗證到 Active Directory 領域。

    1. 使用文字編輯器在 Linux 伺服器上開啟 /etc/samba/smb.conf

    2. 在檔案的「全域」區段中尋找下列行:

      security = user
      
    3. 按如下所示修訂此行並新增更多行:

      security = ADS
      realm = YOUR.KERBEROS.REALM
      encrypt passwords = yes
      netbios name = advertised_name
      

      範例中顯示的 YOUR.KERBEROS.REALM 值是在 krb5.conf 檔案中指定的領域名稱 (請參閱步驟 1.c)。

      netbios name 行中顯示的 advertised_name 值是您的 Samba 伺服器之通告網路名稱及其在 Active Directory 中的名稱 (例如 myserver_smb)。

  3. 將伺服器名稱放置在 Active Directory 容器中:

    1. 在 Linux 伺服器指令行中,鍵入下列指令:

      kinit administrator@YOUR.KERBEROS.REALM
      

      本範例中顯示的 YOUR.KERBEROS.REALM 值是在 krb5.conf 檔案中指定的領域名稱。

    2. 在 Linux 伺服器指令行中,輸入以下指令:

      net ads join
      

設定 Samba 共享

需要建立 Samba 共享,以便 Windows 工作站可以存取 SLES 9 或 SLES 10 伺服器上的檔案。

  1. 使用文字編輯器在 Linux 伺服器上開啟 /etc/samba/smb.conf,然後將下列行新增至檔案:

    [sharename]
    path = local_directory
    guest ok = no
    read only = no
    

    第一行中顯示的 sharename 值是 Samba 共享的通告網路名稱 (例如 zenfiles)。

    第二行中顯示的 local_directory 值是您希望共享常駐伺服器上的本地目錄。

  2. 將存取共享的所有使用者映射至單一 Linux 帳戶。

    1. 在 Linux 伺服器指令行中,鍵入下列指令:

      /usr/sbin/useradd new_account_name
      

      new_account_name 參數是您正在建立的 Linux 帳戶 (例如 smbuser)。

    2. 在 Linux 伺服器上尋找 /etc/samba/smbusers 檔案。

    3. 將下列行新增至檔案︰

      new_account_name = *
      

      此行中的 new_account_name 值是您在步驟 2.a 中建立的帳戶名稱。

  3. 在 Linux 伺服器指令行中,鍵入下列指令以變更共享路徑之擁有權:

    mkdir -p directory_name
    
    chown -R Linux_account_name directory_name
    
    chmod 755 directory_name
    

    directory_name 值是您在步驟 1 中指定的本地目錄路徑。

    Linux_account_name 值是您在步驟 2.a 中指定的「新帳戶名稱」。

  4. 在 Linux 伺服器指令行中,輸入以下指令以重新啟動 Samba 伺服器,以便透過其新參數執行組態檔案:

    /etc/init.d/smb restart
    

5.1.2 在 eDirectory 環境中設定 Linux 伺服器

如果您計劃在要安裝 ZENworks 管理伺服器的 SLES 9 或 SLES 10 伺服器上使用 eDirectory,則需要使目錄式 CIFS 可以存取您要儲存在此伺服器上以供 ZENworks 使用的應用程式和其他檔案。

本節包含您需要瞭解的用於設定在 eDirectory 環境中與 ZENworks 桌面管理配合使用的 SLES 9 或 SLES 10 伺服器的資訊:

設定 Linux 以使用 LDAP 驗證到 eDirectory

本節介紹設定 SLES 9 或 SLES 10 伺服器 (作為 LDAP 用戶端) 和 Novell eDirectory (作為 LDAP 伺服器) 以透過 LDAP 將驗證重新導向至 Novell eDirectory 所需的步驟。此內容假設 Novell eDirectory 8.7.3 (或更高版本) 已安裝在 SLES 9 或 SLES 10 伺服器上。

設定伺服器後,任何使用者均可以使用其 eDirectory 身分證明登入 SLES 9 或 SLES 10 伺服器。

按照以下所列順序使用下列程序:

延伸 eDirectory 綱要以進行 Linux 帳戶驗證

設定 SLES 9 或 SLES 10 伺服器以進行 eDirectory 驗證,需要延伸現有的 eDirectory 綱要 (OES 伺服器上的綱要已由 ZENworks 安裝延伸)。

可以使用 ndsschema 公用程式或 ICE 公用程式延伸綱要。這兩個公用程式均常駐於 SLES 9 或 SLES 10 伺服器上。本節提供這兩個公用程式的指令行語法。

重要:在使用 ICE 公用程式之前,您需要確定使用 ConsoleOne 在您將使用的 eDirectory 樹狀結構中檢查 LDAP 群組物件的內容。

在 LDAP 群組物件上按一下滑鼠右鍵,依次按一下「內容」、「一般」,然後不選「需要 TLS 簡易連結密碼」。

為 Linux 帳戶驗證定義的綱要將在 RFC 2307 中定義。Novell 會以用於延伸 Novell eDirectory 綱要之傳統 eDirectory 綱要格式與輕量資料互換格式 (Lightweight Data Interchange Format, LDIF) 提供綱要輸入檔案。

請使用下列步驟在您的環境中延伸 eDirectory 綱要:

  1. 以根部使用者的身分登入執行 Novell eDirectory 的 Linux 伺服器。

  2. 在 Bash 提示下,輸入 cd /usr/lib/nds-schema

  3. 執行公用程式以延伸綱要。

    • ndsschema 方法: 在 Bash 提示下,輸入以下指令以延伸綱要:

      ndssch cn=admin_name.o=admin_container_name rfc2307-usergroup.sch
      
    • ICE 方法: 在 Bash 提示下,輸入以下指令以延伸綱要:

      ice -S LDIF -f rfc2307-usergroup.ldif -D LDAP -s localhost -d cn=admin_name,o=admin_container_name -W
      
為 Samba 延伸 eDirectory 綱要
  1. 在 Bash 提示下,輸入以下指令:

    cd /usr/share/doc/packages/samba/examples/LDAP
    

    此位置由 samba-doc RPM 套件提供。或者,您可以使用下列指令在 samba-client RPM 套件中尋找綱要檔案:

    cd /usr/share/samba/LDAP
    
  2. 輸入以下指令以使用 ICE 公用程式為 Samba 延伸 eDirectory 綱要:

    ice -S LDIF -f samba-nds.schema -D LDAP -s localhost -d cn=admin_name,o=admin_container_name -W
    
建立代理使用者以進行匿名連結

請使用下列步驟在 eDirectory 中設定代理使用者以進行匿名連結:

  1. 在 ConsoleOne 中,建立新的使用者帳戶並將密碼設定為空。系統提示時,請勿按「取消」而應按一下「確定」,以便產生公用/私密金鑰。

  2. 在新的使用者物件上按一下滑鼠右鍵,依次按一下「內容」、「密碼限制」,然後不選「允許使用者變更密碼」。

  3. 在樹狀結構的根物件上按一下滑鼠右鍵,選取「此物件的託管者」,授予新使用者瀏覽項目的權限,然後授予新使用者對下列屬性的讀取及比較內容權限:

    • CN
    • 描述
    • O
    • OU
    • 物件類別
    • dc
    • gecos
    • gidNumber
    • homeDirectory
    • loginShell
    • memberUid
    • uidNumber
    • uniqueID

    確定在設定每一個屬性時,均為其選取「可承襲」。

  4. 從此使用者物件的屬性清單中移除 [所有屬性權限]

  5. 在 LDAP 群組物件上按一下滑鼠右鍵,並依次按一下「內容」、「一般」,然後選取這個新使用者作為代理使用者。

    提示:您無法從 ZENworks 7 Companion 1 CD 上包含的 ConsoleOne 版本存取「一般」索引標籤。為了正確使用 ZENworks 桌面管理,您需要從 Novell 下載網站下載適用於 ConsoleOne 1.3.6 的 ZENworks 7 桌面管理嵌入程式

    請遵循下載網站上的說明來安裝嵌入程式。

  6. 在 LDAP 伺服器物件上按一下滑鼠右鍵,並依次按一下「內容」、「一般」,然後選取「立即重新整理 NLDAP 伺服器」。

設定 SLES 9 或 SLES 10 伺服器 (LDAP 用戶端)
  1. 啟動 YaST2 控制中心。

    1. 執行 /sbin/yast2

    2. 輸入 menu

  2. 在功能表中,依次選取「網路服務」、「LDAP 用戶端」與「使用 LDAP」。

    作為以上步驟 1 與步驟 2 的替代,您只要從指令行執行 /sbin/yast2 ldap 即可開啟 LDAP 用戶端組態視窗。

  3. 在伺服器欄位中新增 LDAP 伺服器,並搜尋使用者所在的基礎。例如:

    基本 DN: ou=users,ou=novell

    LDAP 伺服器的位址: 127.0.0.1

  4. 選取「LDAP TLS/SSL」,然後按一下「完成」以儲存您的變更。

設定 eDirectory 帳戶以進行 Linux 驗證

請使用下列步驟新增 posixAccount 輔助類別至使用者帳戶,並設定必要的欄位:

  1. 在 ConsoleOne 中,選取使用者帳戶並在其上按一下滑鼠右鍵。

  2. 選取「此物件的延伸」。

  3. 按一下「新增延伸」。

  4. 在清單中,選取「posixAccount」,然後按一下「確定」。

  5. 在「一般編輯」對話方塊中,按一下「確定」。

  6. 在「新 posixAccount」對話方塊中,填寫欄位。下表顯示欄位名稱及其目的,以及您將填寫之資料的範例。

    欄位名稱

    目的

    範例

    名稱

    此延伸的名稱

    posixAccount

    homeDirectory

    使用者主目錄

    /home/tjones

    uniqueID

    使用者的唯一 ID

    tjones

    公用名稱

    Linux gecos 欄位

    Trevor Jones

    gidNumber

    Linux 中的 GID

    515

    uidNumber

    Linux 中的 GID

    515

    所需的其他屬性以及可以在使用者物件的「其他」頁上新增的屬性包含下列內容:

    欄位名稱

    目的

    範例

    loginShell

    設定使用者的外圍程序。SUSE Linux 需要 loginShell 屬性以執行正確的 X 登入。

    /bin/bash

  7. 按一下「確定」以儲存變更。

為任何使用者建立 Samba 身分證明

可從標準 Linux 身分證明單獨維護任何受管理使用者的 Samba 身分證明。請使用下列步驟為任何使用者帳戶新增 Samba 身分證明。

  1. 在 SLES 9 或 SLES 10 伺服器上以 Root 身分登入,然後在 Bash 提示下輸入以下指令:

    smbpasswd -a username
    

    此組態會提示登入伺服器的使用者輸入伺服器的 Samba 密碼。在此語法中,username 是使用者的 eDirectory 使用者名稱。使用者需要處於將其設定為 LDAP 用戶端時指定為基本 DN 的網路位置。如需更多資訊,請參閱設定 SLES 9 或 SLES 10 伺服器 (LDAP 用戶端)

    附註:此為建立 Samba 帳戶的基本方法。您可以使用若干公用程式和方法透過一個指令維護 Linux 與 Samba 密碼。如需更多資訊,請參閱 Samba 文件集合

設定 Samba 共享

需要建立 Samba 共享,以便 Windows 工作站可以存取 SLES 9 或 SLES 10 伺服器上的檔案。

  1. 使用文字編輯器在 Linux 伺服器上開啟 /etc/samba/smb.conf,然後將下列行新增至檔案:

    [sharename]
    path = local_directory
    guest ok = no
    read only = no
    

    第一行中顯示的 sharename 值是 Samba 共享的通告網路名稱 (例如 zenfiles)。

    第二行中顯示的 local_directory 值是您希望共享常駐伺服器上的本地目錄。

  2. 在 Linux 伺服器指令行中,輸入以下指令以變更共享路徑之擁有權:

    mkdir -p directory_name
    
    chown -R admin_user_name
    
    chmod 755 directory_name
    

    admin_user_name 值是您在 ZENworks 中建立規則和應用程式時所使用的使用者名稱。此使用者名稱可用於存取 Samba 共享。

    directory_name 值表示您在步驟 1 中指定的本地目錄路徑。

  3. 在 Linux 伺服器指令行中,輸入以下指令以重新啟動 Samba 伺服器,以便透過其新參數執行組態檔案:

    /etc/init.d/smb restart
    

在 SLES 9 伺服器上存取與工作站相關聯的 ZENworks 檔案 (選項 A)

如果您需要使用 eDirectory 方法在 SLES 9 伺服器上存取與工作站相關聯的規則和應用程式檔案,則必須標示 Samba 共享以允許訪客存取。請使用下列步驟標示 Samba 共享:

  1. 使用文字編輯器在伺服器上開啟 /etc/samba/smb.conf

  2. 在檔案的 [sharename] 區段中找到下列行:

    guest ok = no

    sharename 值是 Samba 共享的通告網路名稱 (例如 zenfiles)。

  3. 按如下所示修改此行:

    guest ok = yes

在 SLES 9 或 SLES 10 伺服器上存取與工作站相關聯的 ZENworks 檔案 (選項 B)

如果您使用的是 Windows 中間層伺服器以使用 eDirectory 方法在 SLES 9 或 SLES 10 伺服器上存取與工作站相關聯的規則和應用程式檔案,則無需將 Samba 共享標示為「全部讀取」(請參閱以上步驟 3) 以允許訪客存取。請使用下列步驟以允許存取檔案:

  1. 確保在安裝期間建立中間層時已輸入 Windows 中間層伺服器 (共享身分證明)。也可以使用 NSAdmin 公用程式 (LMAUTH 身分證明) 在中間層上對其進行設定。

  2. 確定中間層伺服器在本地有相同的身分證明。

即使您擁有防火牆,中間層也可以代表工作站存取 ZENworks 檔案。

定義受限制的使用者

您可以修改 smb.conf 檔案以允許您定義要限制其檔案修改權限的使用者。請使用下列步驟定義受限制的使用者。

  1. 使用文字編輯器在伺服器上開啟 /etc/samba/smb.conf

  2. 在檔案的 [sharename] 區段中找到下列行:

    read only = no

    sharename 值是 Samba 共享的通告網路名稱 (例如 zenfiles)。

  3. 按如下所示修改此行:

    read only = yes

  4. 在 Bash 提示下,輸入以下指令:

    write list = admin_user_name

附註:admin_user_name 值是僅具有讀取 Samba 共享上檔案之權限的使用者名稱 (或以逗號分隔的使用者名稱清單)。