本文介绍在Windows操作系统中,如何以AD域身份挂载SMB文件系统。以及挂载成功后,如何以AD域身份访问SMB协议文件系统,查看和编辑文件或目录的ACL。
前提条件
SMB文件系统挂载点已接入AD域。具体操作,请参见将SMB文件系统挂载点接入AD域。
背景信息
在SMB文件系统挂载点接入AD域前,仅支持以匿名用户身份挂载并使用SMB文件系统。在SMB文件系统挂载点接入AD域后,您可以设置是否继续允许匿名用户身份挂载访问。
- 如果继续允许匿名访问文件系统,设备可以通过Kerberos认证以域身份访问文件系统,也可以通过NTLM认证以Everyone身份访问文件系统。
- 如果已设置为不允许匿名访问文件系统,该文件系统将只允许通过Kerberos认证协议的Windows客户端以AD域用户身份进行挂载。
方式一:Windows客户端加入AD域并挂载SMB文件系统
以下步骤将以Windows Server 2012版本操作系统为例介绍如何将Windows客户端加入AD域并挂载SMB文件系统。
- 配置Windows客户端的DNS服务器地址。
- 登录Windows客户端。
- 在桌面左下角,单击开始。
- 在开始菜单栏,单击控制面板。
- 在控制面板对话框,选择 。
- 在网络与共享中心对话框查看活动网络区域,单击以太网。
- 在以太网属性对话框,单击属性。
- 在以太网属性对话框此连接使用下列项目:区域,选中Internet协议版本4(TCP/IPv4),单击属性。
- 在Internet协议版本4(TCP/IPv4)属性对话框,选中使用下面的DNS服务器地址,设置DNS服务器地址为AD域服务器的IP地址。
- 使用命令提示符工具执行ping命令,pingAD域名,验证Windows客户端和AD域之间的连通性。
- 将Windows客户端加入AD域。
- 在控制面板对话框,选择 。
- 在系统对话框计算机名、域和工作组设置区域,单击更改设置。
- 在系统属性对话框,单击更改。
- 在计算机名/域更改对话框,填写已搭建的AD域名。根据界面提示,单击确定完成配置。
- 重启Windows客户端,使修改配置生效。
- 挂载SMB文件系统。以AD域身份登录Windows客户端,使用命令提示符工具执行以下命令,挂载SMB文件系统。
net use z: \\nas-mount-target.nas.aliyuncs.com\myshare
方式二:Windows客户端连接AD服务器并挂载SMB文件系统
以下步骤将以Windows Server 2012版本操作系统为例介绍通过配置DNS服务器连接AD服务器,然后挂载SMB文件系统。
- 配置Windows客户端的DNS服务器地址。
- 登录Windows客户端。
- 在桌面左下角,单击开始。
- 在开始菜单栏,单击控制面板。
- 在控制面板对话框,选择 。
- 在网络与共享中心对话框查看活动网络区域,单击以太网。
- 在以太网属性对话框,单击属性。
- 在以太网属性对话框此连接使用下列项目:区域,选中Internet协议版本4(TCP/IPv4),单击属性。
- 在Internet协议版本4(TCP/IPv4)属性对话框,选中使用下面的DNS服务器地址,设置DNS服务器地址为AD域服务器的IP地址。
- 使用命令提示符工具执行ping命令,pingAD域名,验证Windows客户端和AD域之间的连通性。
- 挂载SMB文件系统。在Windows客户端,使用命令提示符工具执行以下命令,以AD域身份挂载SMB文件系统。
其中,net use z: \\nas-mount-target.nas.aliyuncs.com\myshare /user:EXAMPLE.com\USERNAME PASSWORD
EXAMPLE.com
为您已搭建的AD域名。
管理SMB文件系统ACL
开启ACL功能并以AD域身份挂载SMB文件系统后,您可以采用以下方式查看和编辑文件或目录ACL。
- mklink命令行工具您可以使用mklink命令行工具,在Windows本地磁盘为SMB文件系统挂载点生成符号链接,同时查看和编辑文件或目录的ACL。
- 使用命令提示符工具创建文件系统映射。
其中,mklink /D c:\myshare \\nas-mount-target.nas.aliyuncs.com\myshare
\myshare
为符号链接的文件系统路径,nas-mount-target.nas.aliyuncs.com\myshare
为SMB文件系统的挂载点。 - 为普通用户添加使用符号链接的权限。如果您使用系统管理员Administrator,请跳过此步骤。
- 使用系统管理员Administrator搜索并运行secpol.msc。
- 在本地安全策略对话框,选择 ,按照页面提示将指定用户加入创建符号链接的权限组中。
- 使用普通用户重新登录Windows客户端。
- 使用系统管理员Administrator搜索并运行secpol.msc。
- 访问SMB文件系统并查看文件或目录ACL。
生成符号链接后,您可以以访问Windows本地磁盘子目录的形式访问SMB文件系统,同时支持查看和编辑文件或目录的ACL。
- 使用命令提示符工具创建文件系统映射。
- Windows文件资源管理器在Windows本地磁盘为SMB文件系统挂载点生成符号链接,可以通过Windows的文件资源管理器(File Explorer)查看、编辑文件和目录的ACL。
- 找到目标文件或目录,右键单击属性。
- 在属性对话框,单击安全页签,然后单击编辑。
- 在权限对话框,单击添加,按照页面提示填写相关信息。
在使用Windows文件资源管理器查看SMB文件系统时,如果需要回退本地磁盘路径,请单击回退(下图中的标注1)或者上退(下图中的标注2)按钮,但是不要选中路径中的某一段(下图中的标注3)来回退。在使用Windows文件资源管理器访问和使用文件系统时,阿里云SMB文件系统并没有实际加入用户的AD域。如果不是通过本地磁盘路径C:\myshare访问文件系统,而是通过普通网络路径\\nas-mount-point.nas.aliyuncs.com\myshare访问,在设置ACL时,会遇到因RPC服务器不可用而无法确定NAS挂载点是否已加入域的情况。重要 Windows文件资源管理器对C:\myshare修改权限并不会应用到文件系统的根目录。修改根目录权限需要使用Set-Acl Powershell
命令或者icacls
命令行。 - 找到目标文件或目录,右键单击属性。
- PowerShell命令Windows PowerShell支持
Get-Acl
和Set-Acl
来查看和编辑文件或目录ACL。- Get-Acl
$value = Get-Acl -Path "Z:"# Set properties $value.Access
Set properties $identity = "Administrator" $fileSystemRights = "FullControl" $type = "Allow" # Create new rule $fileSystemAccessRuleArgumentList = $identity, $fileSystemRights, $type $fileSystemAccessRule = New-Object -TypeName System.Security.AccessControl.FileSystemAccessRule -ArgumentList $fileSystemAccessRuleArgumentList # Apply new rule $value.SetAccessRule($fileSystemAccessRule) $value.Access
- Set-Acl
Set-Acl命令修改权限不需要
mylink c:\myshare
快捷方式,可以直接修改挂载盘路径,也可以修改根目录权限。Set-Acl $value -Path "Z:"
重要 根目录权限修改最好在文件系统刚创建时就设置妥当,否则由于继承机制,命令会需要修改子目录和子文件。
- Get-Acl
- icacls命令
icacls命令是Windows命令行中的ACL操作标准命令。您可以通过
示例:icacls
命令查看和编辑文件或目录ACL。icacls z: #添加用户的完全控制权限 icacls z: /grant <用户名>:(F) #添加administrator的完全控制权限 icacls z: /grant administrator:(F) icacls z: #删除用户的所有权限 icacls z: /remove <用户名> #删除Everyone的所有权限 icacls z: /remove <用户名> icacls z: