规划配置

确定如何配置 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 中的 uidNumbergidNumber 作为访问 OCI 文件存储的每个用户的 uidgid。当用户没有 uidNumbergidNumber 时,NFS 客户机将仅使用 Windows 注册表中的 AnonymousUidAnonymousGid

  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}