規劃您的組態

決定您要如何設定 Windows 檔案共用。

  1. 從 Windows 執行處理進行簡單 NFS 存取,無須認證。
  2. 不經授權即可認證使用者。
  3. 不使用認證授權使用者。
  4. 使用 Active Directory 認證及授權使用者。

所需基礎架構元件

正確的 DNS 和 LDAP 配置對於環境正常運作而言非常重要。如需如何正確設定環境的詳細資訊,請檢閱下列先決條件和基礎架構需求。

  • 客戶管理的 DNS 基礎架構。掛載目標應該可以與 DNS 伺服器上的 UDP 和 TCP 連接埠 53 通訊。
  • 客戶管理的 Active Directory 基礎架構,支援 Kerberos 認證和 LDAP 授權。代管 LDAP 服務的網域控制器必須已在連接埠 636 啟用 LDAPS 並具有適當的簽署憑證,因為掛載目標不接受自行簽署的憑證。
  • OCI File Storage 掛載目標可用來查詢 RFC2307 相容使用者和群組資訊的 LDAP 伺服器 (Active Directory 網域控制器上代管的 LDAP 服務) 登入帳戶。

使用 Active Directory 設定 Windows NFS 從屬端

在使用 Oracle Cloud Infrastructure File Storage NFS 共用的所有工作站上啟用 Active Directory 使用者整合。只有在使用模式 3 時,才需要此組態步驟 (無需驗證即可授權使用者)。

啟用 Active Directory 查詢之後,Windows NFS 從屬端將使用 Active Directory 中的 uidNumbergidNumber 作為每個存取 OCI File Storage 的使用者之 uidgid。當使用者沒有 uidNumbergidNumber 時,NFS 用戶端只會使用 Windows 登錄中的 AnonymousUidAnonymousGid

  1. 啟用 NFS 從屬端上 Powerhell 提示的 Active Directory 使用者整合。
    PS C:\Users\administrator> Set-NfsMappingStore -EnableADLookup $true
    PS C:\Users\administrator>
  2. 在每個使用 OCI File Storage NFS 共用的工作站上重複步驟 1。

在 Active Directory 中設定 RFC2307 屬性

Oracle Cloud Infrastructure File Storage 與 Active Directory (AD) 整合時需要下列 RFC2307 屬性,但預設不會填入這些屬性。設定模式 3 (不使用認證授權使用者) 和模式 4 (使用 Active Directory 認證並授權使用者) 時,必須植入這些屬性。

物件類型 屬性 數值 Comment
User objectClass posixAccount 新增 posixAccount 作為其他物件類別
uidNumber 唯一數值使用者 ID 代表使用者的 Unix 使用者 ID
gidNumber 數值群組 ID 使用者的主要數值群組識別碼
uid 使用者的名稱 雖然稱為 uid,但它不是使用者的 Unix ID。唯一使用者名稱 /sAMAccountName
群組 posixGroup posixGroup 新增 posixGroup 作為其他物件類別
gidNumber 唯一數值群組 ID 代表群組的 Unix 群組 ID
memberUid 使用者的 UID 是群組的成員 將每個使用者名稱 (uid) 新增為群組的成員。請參考上方的 uid 屬性

您可以使用 Active Directory 使用者和電腦內建或 ADSIEdit 工具編輯使用者屬性。此範例使用 Active Directory 使用者和電腦內建。

  1. 移至 AD 中的 Active Directory Users and Computers 目錄。
  2. 展開 fs-ad.com,然後選取使用者
  3. 按一下頂端導覽中的檢視,然後按一下進階功能
  4. 選取使用者。
    在此範例中,使用者為 fss-user-1。
  5. 視需要修改屬性。
  6. 檢查 powerhell 中的屬性。
    PS C:\Users\administrator> $Filter = "(&(objectClass=posixAccount)(uid=fss-user-1))"
    >> $RootOU = "CN=Users,DC=fss-ad,DC=com"
    >> $Searcher = New-Object DirectoryServices.DirectorySearcher
    >> $Searcher.SearchRoot = New-Object System.DirectoryServices.DirectoryEntry("LDAP://$($RootOU)")
    >> $Searcher.Filter = $Filter
    >> $Searcher.SearchScope = "Subtree"
    >> $Results = $Searcher.FindAll()
    >> $R = foreach  ($line in $Results) {
    >>  $line_entry =  $line.GetDirectoryEntry()
    >>  $line_entry | Select-Object -Property uid, objectClass, uidNumber, gidNumber
    >> }
    >> $R
    
    uid          objectClass                                          uidNumber gidNumber
    ---          -----------                                          --------- ---------
    {fss-user-1} {top, posixAccount, person, organizationalPerson...} {901}     {500}
    
    
    PS C:\Users\administrator> $Filter = "(&(objectClass=posixGroup)(gidNumber=8001))"
    >> $RootOU = "CN=Users,DC=fss-ad,DC=com"
    >>
    >> $Searcher = New-Object DirectoryServices.DirectorySearcher
    >> $Searcher.SearchRoot = New-Object System.DirectoryServices.DirectoryEntry("LDAP://$($RootOU)")
    >> $Searcher.Filter = $Filter
    >> $Searcher.SearchScope = "Subtree"
    >> $Results = $Searcher.FindAll()
    >> $R = foreach  ($line in $Results) {
    >>  $line_entry =  $line.GetDirectoryEntry()
    >>  $line_entry | Select-Object -Property gidNumber, objectClass, memberUid
    >> }
    >> $R
    
    gidNumber objectClass              memberUid
    --------- -----------              ---------
    {fss-rw-group-1} {8001}    {top, posixGroup, group} {fss-user-2, fss-user-1}