Sun 企業辯證機制使用指南

設置 SEAM NFS 伺服器

NFS 服務會使用 UNIX UID 而無法直接使用主管來辨識一位使用者。要將主管轉譯為一個 UID,必須建立一個將使用者主管對映為 UNIX UID 的證書表。下列程序著重於設置一個 SEAM NFS 伺服器、管理證書表、以及為 NFS 裝載的檔案系統初始化 Kerberos 安全模式等所需的工作。下表將說明本節所涵蓋的所有工作。

表 3-3 設置 SEAM NFS 伺服器工作對映

工作 

說明 

如需有關說明,請到 ... 

設置一個 SEAM NFS 伺服器 

 讓伺服器共享一個需要 Kerberos 辯證的檔案系統的步驟。"如何設置 SEAM NFS 伺服器"

變更證書表的後端機制 

定義gsscred 所用的後端機制的步驟。"如何變更 gsscred 表的後端機制"

建立一個證書表 

 生成一個證書表的步驟。"如何建立一個證書表"

如何變更將使用者主管對映至 UNIX UID 的證書表。 

 在證書表中更新資訊的步驟。"如何將單一項目新增至證書表中"

利用 Kerberos 辯證來共享一個檔案系統 

 以安全模式來共享一個檔案系統的步驟,因此 Kerberos 辯證是必要的。"如何設定一個有多個 Kerberos 安全模式的安全 NFS 環境"

如何設置 SEAM NFS 伺服器

此程序需要先已設置主 KDC。要完全測試整個過程,您必須安裝數個客戶端。必須使用下列的設置參數﹕

  1. 設置一個 SEAM NFS 伺服器的先決條件。

    SEAM 客戶端軟體必須先已安裝。

  2. 可任選﹕安裝 NTP 客戶端或其他時鐘同步化機制。

    請參見 "同步化 KDC 及 SEAM 客戶端之間的時鐘" 中有關 NTP 的資訊。

  3. 開始 kadmin

    "如何建立一位新主管" 中說明如何使用 SEAM 管理工具來新增一位主管。下面的範例顯示應如何使用指令行來新增必要的主管。您必須以其中一個您在設置主 KDC 時所建立的管理主管名稱來登入。


    denver # /usr/krb5/sbin/kadmin -p kws/admin
    Enter password: 
    <輸入 kws/admin 密碼> 
    kadmin:
    1. 建立伺服器的 NFS 服務主管。


      kadmin: addprinc -randkey nfs/denver.acme.com
      Principal "nfs/denver.acme.com" created.
      kadmin:
    2. 可任選﹕為 NFS 伺服器建立一位 root 主管。


      kadmin: addprinc root/denver.acme.com 
      Enter password for principal root/denver.acme.com@ACME.COM:<鍵入密碼>
      Re-enter password for principal root/denver.acme.com@ACME.COM: < 再一次鍵入> 
      Principal "root/denver.acme.com@ACME.COM" created.
      kadmin:
    3. 將伺服器的 NFS 服務主管新增至伺服器的密鑰表中。


      kadmin: ktadd nfs/denver.acme.com
      kadmin: Entry for principal nfs/denver.acme.com with
        kvno 3, encryption type DES-CBC-CRC added to keytab
        WRFILE:/etc/krb5/krb5.keytab
      kadmin: quit
      
    4. 退出 kadmin


      kadmin: quit
      
  4. 建立 gsscred 表。

    請參見 "如何建立一個證書表" 中的詳細資訊。

  5. 使用 Kerberos 安全模式來共享 NFS 檔案系統。

    請參見 "如何設定一個有多個 Kerberos 安全模式的安全 NFS 環境" 中的詳細資訊。

  6. 在每個客戶端之上﹕同時辯證使用者以及 root 主管。

    請參見 "設定 Root 辯證以裝載 NFS 檔案系統" 中的詳細資訊。

如何變更 gsscred 表的後端機制

  1. 成為 NFS 伺服器之上的超級使用者。

  2. 編輯 /etc/gss/gsscred.conf 與變更機制。

    請使用下列其中一種後端機制﹕filesxfn_filesxfn_nisxfn_nisplus、或 xfn"使用 gsscred 表" 中將說明這些機制中每一個的優點。

如何建立一個證書表

NFS 伺服器會使用 gsscred 證書表來將 SEAM 主管對映至一個 UID。為了讓 NFS 客戶端能夠使用 Kerberos 辯證從一個 NFS 伺服器來裝載檔案系統,此表就建立必須使它可用。

  1. 成為正確伺服器之上的超級使用者。

    您是從哪一個伺服器來執行此指令,以及您是以哪一個識別碼來執行指令,取決於被選定以支援 gsscred 表的後端機制。除了 xfn_nisplus 以外的所有機制,您必須成為 root 的身份。

    如果您的後端機制為 ... 

    那麼 ... 

    files

    在 NFS 伺服器之上執行 

    xfn

    根據預設的 xfn 檔案設定來選擇主機

    xfn_files

    在 NFS 伺服器之上執行 

    xfn_nis

    在 NIS 主之上執行 

    xfn_nisplus

    只要有變更 NIS+ 資料的權限便執行。 

  2. 可任選﹕如果 /var/fn 並不存在而您想要使用其中一個 xfn 選項的話,請建立一個初始化 XFN 資料庫。


    # fnselect files
    # 
    fncreate -t org -o org//
    
  3. 使用 gsscred 來建立證書表。

    指令會從所有 /etc/nsswitch.confpasswd 項目所列的來源中搜集資訊。如果您不希望證書表中包括本機的密碼項目,可能必須暫時移除 files 項目。請參見 gsscred(1M) 線上援助頁中的詳細資訊。


    # gsscred -m kerberos_v5 -a
    

如何將單一項目新增至證書表中

此程序需要先已將 gsscred 表安裝在 NFS 伺服器之上。

  1. 成為一個 NFS 伺服器之上的超級使用者。

  2. 使用 gsscred 來將一個項目新增至表中。


    # gsscred -m [mech] -n [name] -u [uid] -a
    

    mech

    要使用的安全機制。 

    name

    使用者的主管名稱,如 KDC 中所定義的。 

    uid

    使用者的 UID,如密碼資料庫中所定義的。 

    -a

    將 UID 新增至主管名稱對映。 

範例 - 變更證書表中的單一項目

下列範例會為名為 sandy 的使用者新增一個項目,對映至 UID 3736。如果指令行中沒有包括 UID 的話,它會被從密碼檔案中拉出。


# gsscred -m kerberos_v5 -n sandy -u 3736 -a

如何設定一個有多個 Kerberos 安全模式的安全 NFS 環境

  1. 成為 NFS 伺服器之上的超級使用者。

  2. 編輯 /etc/dfs/dfstab 檔案並且以必要的安全模式來將 sec= 選項新增至適當的項目中。


    #share -F nfs -o [mode] [filesystem]
    

    mode

    開始時要使用的安全模式。使用多個安全模式時,根據預設,autofs 會使用清單中的第一個模式。 

    filesystem

    值要被共享的檔案系統的路徑。 

    所有嘗試從指名的檔案系統中存取檔案的客戶端都需要 Kerberos 辯證。要完成檔案的存取,both 使用者主管及 NFS 客戶端之上的 root 主管都應該進行辯證。

  3. 檢查以確定 NFS 服務正在伺服器之上執行。

    如果這是您所初始化的第一個共享指令或共享指令集,很可能就沒有執行 NFS 常駐程式。下列指令集會殺掉常駐程式並且將它們重新啟動。


    # /etc/init.d/nfs.server stop
    # 
    /etc/init.d/nfs.server start
    
  4. 可任選﹕如果使用 autofs,請編輯 auto_master 資料以選擇預設值以外的一個安全模式。

    如果您不使用 autofs 來存取檔案系統,或者如果預設的安全模式選取可行的話,就不需要依照此程序進行。


    /home	  auto_home  -nosuid,sec=krbi
  5. 可任選﹕以手動的方式核發 裝載 指令以存取使用一個非預設模式的檔案系統。

    或者您也可以使用 mount 指令來指定安全模式,但這就不會利用到自動裝載器﹕


    # mount -F nfs -o sec=krb5p /export/home
    

範例 - 與一個 Kerberos 安全模式共享一個檔案系統

此範例會在存取檔案之前要求 Kerberos 辯證。


# share -F nfs -o sec=krb5 /export/home

範例 - 與多個 Kerberos 安全模式共享一個檔案系統

在此範例中,已經選定了所有的三種 Kerberos 安全模式。如果在要求裝載時沒有指定任何安全模式,那麼列出的第一個模式就會被用於所有的 NFS V3 客戶端之上(在此例中為 krb5)。"share 指令的變更" 附有額外的資訊。


# share -F nfs -o sec=krb5:krb5i:krb5p /export/home