阿里云文件系统NAS SMB如何修改根目录权限

阿里云文件系统服务SMB文件系统(NAS SMB)在没有打开SMB ACL功能时,只支持只读操作,无法修改根目录权限。

在参考《将阿里云SMB协议文件系统挂载点接入AD域》https://help.aliyun.com/document_detail/154930.html,打开SMB ACL功能之后,用户即可修改根目录权限。


需要注意的是NAS SMB只支持SMB协议,不支持Windows其他RPC协议,直接用Windows文件资源管理器普通网络路径\\nas-mount-point.nas.aliyuncs.com\myshare访问,在设置ACL时,会遇到因RPC服务器不可用而无法确定NAS挂载点是否已加入域的情况。如下图所示。

阿里云文件系统NAS SMB如何修改根目录权限阿里云文件系统NAS SMB如何修改根目录权限


文档《从Windows以AD域用户身份挂载并使用阿里云SMB协议文件系统》https://help.aliyun.com/document_detail/160154.htm 介绍了需要使用mklink工具进行文件系统映射,再对文件系统映射进行ACL设置。但是这个方法并不适用于文件系统的根目录,无法在mklink的链接目录上设置ACL。


我们推荐的设置方法是通过Get-Acl, Set-Acl Powershell命令操作挂载盘,或者通过icacls命令操作挂载盘。具体示例如下:


Get-Acl, Set-Acl Powershell命令操作根目录

$value = Get-Acl -Path "Z:"# Get properties
$value.Access

阿里云文件系统NAS SMB如何修改根目录权限

# 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


阿里云文件系统NAS SMB如何修改根目录权限


Set-Acl $value -Path "Z:"


icacls命令操作根目录

icacls z:
#添加用户的完全控制权限
icacls z: /grant <>:(F)
#添加administrator的完全控制权限
icacls z: /grant administrator:(F)
icacls z:
#删除用户的所有权限
icacls z: /remove <>
#删除Everyone的所有权限
icacls z: /remove <>
icacls z:

阿里云文件系统NAS SMB如何修改根目录权限


阿里云文件系统NAS SMB如何修改根目录权限


注意:最好在文件系统刚创建时就设置好,否则由于继承机制,命令会需要修改子目录和子文件。

上一篇:nginx添加几十个域名


下一篇:Java调用.Net的web service的几种方式