规划配置

确定如何配置 Windows 文件共享。

  1. 从 Windows 实例轻松访问 NFS,无需身份验证。
  2. 无需授权即可验证用户。
  3. 授权用户而不进行身份验证。
  4. 使用 Active Directory 验证和授权用户。

必需的基础结构组件

正确的 DNS 和 LDAP 配置对于环境正常运行至关重要。有关如何正确配置环境的更多信息,请查看以下先决条件和基础结构要求。

  • 客户管理的 DNS 基础设施。挂载目标应该能够与 DNS 服务器上的 UDP 和 TCP 端口 53 进行通信。
  • 客户管理的 Active Directory 基础结构,用于支持 Kerberos 验证和 LDAP 授权。托管 LDAP 服务的域控制器必须在端口 636 上启用具有正确签名证书的 LDAPS,因为挂载目标不接受自签名证书。
  • LDAP 服务器(Active Directory 域控制器上托管的 LDAP 服务)的登录帐户, OCI 文件存储挂载目标可用于查找符合 RFC2307 的用户和组信息。

使用 Active Directory 配置 Windows NFS 客户机

在使用 Oracle Cloud Infrastructure File Storage NFS 共享的所有工作站上启用 Active Directory 用户集成。仅在使用模式 3 时才需要此配置步骤(授权未进行验证的用户)。

启用 Active Directory 查找后,Windows NFS 客户机将使用 Active Directory 中的 uidNumber 和 gidNumber 作为访问 OCI 文件存储的每个用户的 uid 和 gid。当用户没有 uidNumber 和 gidNumber 时,NFS 客户机将仅使用 Windows 注册表中的 AnonymousUid 和 AnonymousGid。

  1. 从 NFS 客户机上的电源提示符启用 Active Directory 用户集成。
    PS C:\Users\administrator> Set-NfsMappingStore -EnableADLookup $true
    PS C:\Users\administrator>
  2. 在使用 OCI 文件存储 NFS 共享的每个工作站上重复步骤 1。

在 Active Directory 中配置 RFC2307 属性

需要以下 RFC2307 属性将 Oracle Cloud Infrastructure File Storage 与 Active Directory (AD) 集成,但默认情况下不会填充这些属性。为模式 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. 验证电源指示灯的属性。
    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}