通过将SMB文件系统的挂载点接入AD域内,您可以在AD域中实现文件系统用户身份的认证管理和文件级别的访问权限控制。以AD域用户身份挂载使用SMB文件系统之前,您需要在AD域内为SMB文件系统注册服务,生成Keytab密钥表文件并上传至NAS控制台开启SMB ACL功能。
前提条件
已创建SMB文件系统。具体操作,请参见创建SMB文件系统。
步骤一:生成Keytab文件
您可以通过以下两种方式生成Keytab文件:
- 自动生成Keytab文件
- 登录需要安装AD域控制器和DNS服务的ECS服务器。
- 在PowerShell工具或者PowerShell ISE工具中执行以下命令下载脚本。
Invoke-WebRequest https://nas-client-tools.oss-cn-hangzhou.aliyuncs.com/windows_client/alinas_smb_windows_inspection.ps1 -OutFile alinas_smb_windows_inspection.ps1
- 执行以下命令自动安装AD域控制器和DNS服务,生成Keytab文件。
.\alinas_smb_windows_inspection.ps1 -MountAddress abcde-file-system-id.region.nas.aliyuncs.com -ConfigAD $true -Userdomain "example.com" -Username "administrator" -Password "password" -Locale zh-CN
重要字段说明如下所示,请根据实际情况替换:- file-system-id.region.nas.aliyuncs.com:表示SMB文件系统挂载点地址。
- example.com:表示搭建的AD域名。
- administrator:表示AD服务账号名。
- password:表示AD服务登录密码。
重要 首次运行脚本安装完AD域服务后并首次启动AD域时,Windows AD服务器将会重启。重启后需再次运行上述脚本,完成生成Keytab的步骤。
- 手动配置keytab文件
- 安装并启用AD域服务及DNS服务。具体操作,请参见安装AD域控制器。
- 登录AD控制器所在的ECS服务器。
- 打开CMD命令窗口,执行以下命令为SMB文件系统创建服务账号。
dsadd user CN=<AD服务账号名>,DC=<AD域域名>,DC=com -samid <AD服务账号名> -display <用户描述文字> -pwd <用户密码> -pwdneverexpires yes
示例:dsadd user CN=alinas,DC=EXAMPLE,DC=com -samid alinas -display "Alibaba Cloud NAS Service Account" -pwd tHeRd123**** -pwdneverexpires yes
- 执行以下命令,为SMB文件系统挂载点注册并添加服务主体。
- 执行命令
setspn -S cifs/<SMB协议NAS文件系统挂载点地址> <AD服务账号名>
示例
setspn -S cifs/29fe7f4****-****.cn-wulanchabu.nas.aliyuncs.com alinas
- 返回示例
如果返回如下类似信息,则说明SMB文件系统挂载服务主体已添加成功。
- 执行命令
- 检查Windows AD服务器或Windows客户端的setspn配置。
- 在PowerShell工具或者PowerShell ISE工具中执行以下命令下载脚本。
Invoke-WebRequest https://nas-client-tools.oss-cn-hangzhou.aliyuncs.com/windows_client/alinas_smb_windows_inspection.ps1 -OutFile alinas_smb_windows_inspection.ps1
- 检查setspn配置。
.\alinas_smb_windows_inspection.ps1 -MountAddress abcde-file-system-id.region.nas.aliyuncs.com -CheckAD $true -Userdomain "example.com" -Username "administrator" -Password "password" -Locale zh-CN
重要字段说明如下所示,请根据实际情况替换:- file-system-id.region.nas.aliyuncs.com:表示SMB文件系统挂载点地址。
- example.com:表示搭建的AD域名。
- administrator:表示AD服务账号名。
- password:表示AD服务登录密码。
- 在PowerShell工具或者PowerShell ISE工具中执行以下命令下载脚本。
- 在AD域服务器上,打开CMD命令窗口,执行以下命令为SMB文件系统挂载点生成Keytab密钥表文件。
ktpass -princ cifs/<SMB文件系统挂载点地址> -ptype KRB5_NT_PRINCIPAL -crypto All -out <生成的密钥表文件的文件路径> -pass <用户密码>
示例:ktpass -princ cifs/file-system-id.region.nas.aliyuncs.com@EXAMPLE.com -ptype KRB5_NT_PRINCIPAL -mapuser alinas@example.com -crypto All -out c:\nas-mount-target.keytab -pass tHeP****d123
步骤二:上传Keytab文件
在NAS控制台,上传阿里云SMB文件系统服务账号的Keytab文件。