通过将SMB文件系统的挂载点接入AD域内,可以在AD域中实现文件系统用户身份的认证管理和文件级别的访问权限控制。以AD域用户身份挂载使用SMB文件系统之前,需要在AD域内为SMB文件系统注册服务,生成Keytab密钥表文件并上传至NAS控制台开启SMB ACL功能。

前提条件

  • 已安装并启用AD域服务及DNS服务。
  • 已创建SMB文件系统。具体操作,请参见创建SMB文件系统
  1. 登录AD域所在的ECS服务器。
  2. 在AD域服务器上,为SMB文件系统创建服务账号。
    CMD命令模板:
    dsadd user CN=<AD服务账号名>,DC=<AD域域名>,DC=com
      -samid <AD服务账号名>
      -display <用户描述文字>
      -pwd <用户密码>
      -pwdneverexpires yes
    示例:
    dsadd user CN=alinas,DC=MYDOMAIN,DC=com -samid alinas -display "Alibaba Cloud NAS Service Account" -pwd tHe****Rd123 -pwdneverexpires yes
  3. 在AD域服务器上,为SMB文件系统挂载点注册并添加服务主体。
    CMD命令模板:
    setspn -S cifs/<SMB协议NAS文件系统挂载点> <AD服务账号名>
    示例:
    setspn -S cifs/nas-mount-target.nas.aliyuncs.com alinas
    若返回如下类似信息,则说明SMB文件系统挂载服务主体已添加成功。1
  4. 检查Windows AD服务器或Windows客户端的setspn配置。
    在Powershell工具或者Powershell ISE工具中执行以下命令下载脚本。
    Invoke-WebRequest https://code.aliyun.com/nas_team/nas-client-tools/raw/master/windows_client/alinas_smb_windows_inspection.ps1 -OutFile alinas_smb_windows_inspection.ps1
    检查setspn配置。
    .\alinas_smb_windows_inspection.ps1 -MountAddress abcde-123.region-id.nas.aliyuncs.com -CheckAD $true -Userdomain "domain.com" -Username "username" -Password "password" -Locale zh-CN
  5. 在AD域服务器上,为SMB文件系统挂载点生成Keytab密钥表文件。
    CMD命令模板:
    ktpass
      -princ cifs/<SMB文件系统挂载点>
      -ptype KRB5_NT_PRINCIPAL
      -crypto All
      -out <生成的密钥表文件的文件路径>
      -pass <用户密码>
    示例:
    ktpass -princ cifs/nas-mount-target.nas.aliyuncs.com@MYDOMAIN.com -ptype KRB5_NT_PRINCIPAL -mapuser alinas@mydomain.com -crypto All -out c:\nas-mount-target.keytab -pass tHeP****d123
    说明 上述步骤2~步骤5安装AD域控制器至生成Keytab文件的步骤,可以使用以下脚本命令自动配置:
    .\alinas_smb_windows_inspection.ps1 -MountAddress abcde-123.region-id.nas.aliyuncs.com -ConfigAD $true -Userdomain "mydomain.com" -Username "administrator" -Password "password" -Locale zh-CN
    安装完AD域服务后首次启动AD域时,Windows AD服务器将会重启。重启后再次运行上述脚本,完成生成Keytab的步骤。
  6. 在NAS控制台,上传阿里云SMB文件系统服务账号的Keytab文件。
    1. 登录NAS控制台
    2. 在左侧导航栏,选择文件系统 > 文件系统列表
    3. 文件系统列表页面,单击目标文件系统ID或管理
    4. 访问控制页签,单击开启
    5. 开启SMB ACL对话框,上传阿里云文件系统服务账号的Keytab文件,单击确定
      开启SMBACL
    6. 访问控制页签,单击修改配置
    7. 修改配置对话框,参考如下说明对参数进行修改。
      修改SMBACL
      参数 描述
      允许匿名访问 是否允许匿名访问文件系统。
      • 是:允许任何人以NTLM方式挂载该文件系统,挂载后用户身份为Everyone,ACL仍然生效。
      • 否(默认值):不允许匿名用户访问文件系统。
      启用传输加密 是否开启SMB文件系统传输加密功能。
      • 是:开启SMB文件系统传输加密功能。
      • 否(默认值):不开启SMB文件系统传输加密功能。
      更多信息,请参见SMB文件系统传输加密
      拒绝非加密客户端 配置访问SMB文件系统的客户端类型。
      • :仅支持使用传输加密的客户端挂载该SMB文件系统,即支持SMB传输加密的操作系统以AD域身份挂载SMB文件系统。

        当以匿名身份挂载或使用不支持传输加密的客户端挂载SMB文件系统时,挂载将会失败。

      • :所有客户端均能挂载该SMB文件系统,但只有支持传输加密的操作系统以AD域身份挂载SMB文件系统才会启用传输加密功能。
      Keytab文件 上传Keytab文件。
      说明 在修改配置后,请重新挂载SMB文件系统,使AD域服务账号配置生效。

后续步骤

将SMB文件系统挂载点接入到了AD域后,您可以通过AD域身份挂载并使用SMB文件系统。具体操作,请参见Windows客户端以AD域用户身份挂载并使用SMB文件系统Linux客户端以AD域用户身份挂载并使用SMB文件系统