阿里云SMB协议文件系统ACL权限控制使用指南

本文涉及的产品
对象存储 OSS,20GB 3个月
文件存储 NAS,50GB 3个月
日志服务 SLS,月写入数据量 50GB 1个月
简介: ACL权限控制表是一项重要的企业级特性。阿里云用户可以将自建的AD服务与NAS SMB卷连通,通过AD域身份或者匿名(EVERYONE)的方式挂载NAS SMB卷,之后用户可以对任何文件、文件夹设置权限管控表。

ACL权限控制表是一项重要的企业级特性。在不连通AD服务时,NAS SMB卷的ACL是只读的,用户登录身份为匿名(EVERYONE)。现在阿里云用户可以将自建的AD服务与NAS SMB卷连通,通过AD域身份或者EVERYONE的方式挂载NAS SMB卷,之后用户可以对文件、文件夹设置ACL。具体配置AD的方法请参考将SMB协议NAS挂载点接入AD域,挂载SMB卷的方法请参考从Windows以AD域用户身份挂载使用阿里云SMB协议文件系统

接下来我们介绍如何使用NAS SMB ACL及其相关特性。

说明 目前AD/ACL功能需要通过工单提交申请后才能使用,默认关闭。

1. 如何查看和修改ACL

用户可以使用Windows文件资源管理器的安全栏查看/修改权限,也可以通过Get-Acl/Set-Acl Powershell命令或者icacls命令行命令查看/修改ACL。

说明 请参考从Windows以AD域用户身份挂载使用阿里云SMB协议文件系统,使用mklink工具以C盘下的符号链接的形式挂载好NAS SMB文件系统。

mklink /D c:\myshare \\nas-mount-point.nas.aliyuncs.com\myshare

1.1. Windows文件管理器

在符号链接生成后,用户可以通过Windows文件资源管理器(File Explorer)查看和编辑文件/目录的ACL。以下为示例(其中文件系统名、密码、密钥内容等敏感信息已涂黑)。

Windows文件管理器ACL示例

说明 需要注意的是,阿里云NAS文件系统并没有实际加入用户的AD域。如果不是通过c:\myshare访问,而是通过网络路径\\nas-mount-point.nas.aliyuncs.com\myshare访问文件系统,在设置ACL时,会遇到因RPC服务器不可用而无法确定NAS挂载点是否已加入域的情况。
是否已加入域
RPC服务器不可用

请参考从Windows以AD域用户身份挂载使用阿里云SMB协议文件系统,使用mklink工具以C盘下的符号链接的形式挂载好NAS SMB文件系统。

mklink /D c:\myshare \\nas-mount-point.nas.aliyuncs.com\myshare

更多Windows文件管理器设置ACL的相关内容请参考Set-file-folder-permission-windows

注意:一定要保证文件管理器路径栏显示的是本地盘路径,否则设置ACL时会向NAS SMB卷发送RPC请求造成修改ACL失败。使用时注意如果需要回退,请点击回退或者上退按钮,但是不要点击路径中的某一段来回退。
请点击回退或者上退按钮,但是不要点击路径中的某一段来回退

1.2. Get-Acl/Set-Acl Powershell命令

Windows Powershell支持Get-Acl/Set-Acl来查看、修改ACL。
Get-Acl示例如下,更多资料请参考Get-Acl文档

$value = Get-Acl dir
$value.Access

Get-Acl

Set-Acl示例如下,更多资料请参考Set-Acl文档

Set-Acl .\dirKid2 $value
Get-Acl .\dirKid1 | Set-Acl .\dirKid2

1.3. Icacls Cmd命令

icacls是Windows命令行下的ACL操作标准命令。示例如下,更多资料请参考icacls文档

icacls .\dir0
icacls .\dir0 /grant *S-1-1-0:(d,wdac)
icacls .\dir0

icacls

2. 阿里云NAS SMB ACL基本特性

介绍完NAS SMB ACL的基本使用方法,接下来我们介绍NAS SMB ACL的基本特性。

2.1. 阿里云NAS SMB ACL的默认值

阿里云NAS SMB ACL的卷根目录权限默认值如下:
卷根目录权限默认值

2.1.1. 默认值设计的原因

  • SYSTEM, Administrators这两个ACE权限项是为了与Windows NTFS的权限对齐,保证管理员权限的程序能够正常运行。同时也为未来连通阿里云RAM账号系统之后,为超级用户提供管理员权限提供可能性。
  • CREATOR OWNER是为了实现继承机制,也与Windows NTFS权限对齐。
  • 设置Owner为Everyone,让Everyone有根目录的所有权限,这样没有使用AD的用户也能够以Everyone的身份登录卷并且在卷上进行创建新文件、文件夹的操作而不受影响。
  • NAS SMB AD/ACL设计了卷选项可以在卷上禁止以Everyone身份进行访问,只有域身份用户才能访问。有需要的用户请申请工单

2.1.2. 如何与已有用户的使用习惯进行兼容

  • 为了兼容不使用AD的用户,AD功能打开之前创建的文件/文件夹会有Everyone的所有权限,保证不使用AD的用户不受影响。不使用AD的用户可以通过NTLM协议以Everyone的身份挂载文件卷并能访问Everyone所拥有的内容。
  • 文件卷根目录权限是锁定的,这可以保障所有用户能够访问根目录。如需隔离,请自行建立子目录并设置隔离权限,让Everyone不能访问。或者申请工单禁止以Everyone身份进行访问。
  • 新的AD用户创建的文件/文件夹不会继承Everyone权限,所以新的AD用户的文件/文件夹不使用AD的用户并不能访问,只有创建者用户和管理员用户可以访问。
  • AD用户可以访问不使用AD的用户(即EVERYONE)创建的文件、文件夹。

2.2. 不支持多重身份挂载同一个NAS SMB卷

只能以一个身份挂载一个NAS SMB卷。尝试用另一身份挂载会出现以下错误:
另一身份挂载会出现以下错误

2.3. 逃逸机制

如果出现恶意用户强行删除了管理者权限以及其他人的权限,导致文件/文件夹不可用,需要用管理员身份挂载并重写该文件/文件夹的权限。阿里云NAS SMB文件卷实现了与Windows Server文件卷类似的逃逸机制。
比如,当恶意用户把文件夹的拥有者改成自己,然后设置Deny Everyone之后,管理者(Domain Admins, Built-in Administrators)可以在点击确认之后将文件夹的拥有者修改为管理者本人或者Everyone,然后把Deny Everyone的权限项删除并添加合适的Allow权限项即可。
逃逸机制示例

2.4. Cygwin

Cygwin可以在Windows环境中虚拟POSIX环境,运行POSIX程序。但是在启用AD/ACL之后,用户SID和Windows SD权限在Cygwin中会转化成POSIX uid/gid和POSIX ACL。这个转化的具体细节请参考Cygwin ntsec.html

2.4.1. /etc/fstab中加入noacl选项

在Cygwin中使用NAS SMB卷时,建议在Cygwin的/etc/fstab中加入noacl的挂载选项,这样Cygwin不会启用复杂的ACL转化,而是对新生成的文件和文件夹使用默认mode值,USER/GROUP则为当前Windows登录用户的用户名和群组。基本规则如下:

  • 文件夹默认mode和uid/gid(755)
    drwxr-xr-x 1 cat Domain Users 0 Jul 25 06:18 dir

  • 文件的默认mode和uid/gid(644)
    -rw-r--r-- 1 cat Domain Users 0 Jul 25 06:42 file

  • 文件的mode值可以为644或者444。如果是444,则文件设置了DOS Read-only权限。noacl只会转换文件的DOS Read-only权限

  • chmod命令不能修改文件夹的权限,可以修改文件的mode值到644或者444

  • chown/chgrp命令无效

  • getfacl/setfacl命令不支持

  • 因为客户端文件夹权限只会显示成755,文件权限只会显示成644或444,可能会出现客户端显示有权限但是服务端拒绝请求的情况

2.4.2. /etc/fstab如果使用默认acl选项

因为NAS SMB的默认挂载使用Everyone权限,而Everyone在Cygwin对应为other。Cygwin在生成文件/文件夹时,会有类似Linux的行为,在创建文件之后自动执行chmod操作使文件/文件夹mode达到默认值。因为文件夹的other默认值是r-x,文件的默认值是r--,所以Everyone只有r-x或者r--的权限,导致新生成的文件夹里Everyone无法创建新文件,新生成的文件对于Everyone也是只读的。

因此,强烈建议用户在Cygwin下使用noacl选项,不要使用acl选项。

2.5. Linux下使用AD/ACL

在Linux下使用mount -t cifs挂载时,用户可以指定挂载的域用户身份,以及挂载后的文件gid/uid/file mode/dir mode等。在使用文件卷时,客户端会根据挂载的uid/gid和登录的真实用户身份进行基本的posix权限检查,而在文件服务器端,无论Linux用户以何种uid/gid身份登录,都将映射到该域用户身份进行操作。Linux Root身份也没有管理员权限,而是该域用户的权限。chmod, chown, chgrp, getfacl/setfacl等Linux权限操作都将不起作用。

更多内容请参考从LinuxAD以域用户身份挂载使用阿里云SMB协议文件系统

阿里云文件存储AD/ACL相关文章

1. 阿里云SMB协议文件存储服务支持基于AD域的用户身份认证及权限访问控制介绍,总体介绍阿里云SMB协议文件存储服务支持基于AD域的用户身份认证及权限访问控制的设计实现。

2. Kerberos网络身份认证协议介绍及SMB文件系统对其的支持,介绍Kerberos网络身份认证协议以及与SMB协议问系统的交互。

3. 安装并启用Active Directory域服务与DNS服务,介绍如何在VPC中安装并启用AD域服务和DNS服务。

4. 将Windows系统机器加入AD域,介绍如何将windows机器加入AD域。

5. 将阿里云SMB协议文件系统挂载点接入AD域,介绍如何在AD域服务器以及阿里云SMB协议文件系统中进行必要的配置来支持基于AD域的用户身份认证及权限访问控制。

6. 从Windows以AD域用户身份挂载使用阿里云SMB协议文件系统,介绍如何从windows客户端以域用户身份挂载使用阿里云SMB协议文件系统。

7. 从LinuxAD以域用户身份挂载使用阿里云SMB协议文件系统,介绍如何从Linux客户端以域用户身份挂载使用阿里云SMB协议文件系统。

8. 阿里云SMB协议文件系统ACL权限控制使用指南,介绍如何正确地配置阿里云SMB协议文件系统的ACL以及相应的规则描述。

9. 阿里云SMB协议文件系统AD身份认证和ACL权限控制使用场景 - Home Directory / User Profile,介绍使用权限控制的域用户Home Directory以及User Profile两个场景下的相关配置及实现。

目录
相关文章
|
安全 应用服务中间件 文件存储
Kerberos网络身份认证协议介绍及SMB文件系统对其的支持
本文简单介绍了Kerberos网络认证协议,以及SMB文件系统对Kerberos认证的支持。
6932 1
Kerberos网络身份认证协议介绍及SMB文件系统对其的支持
|
网络协议 安全 Linux
通过NAT网关实现本地客户端访问NAS SMB文件系统
通过NAT网关实现本地客户端访问NAS SMB文件系统。帮助用户使用本地的MacOS、iPad、Linux、Windows等客户端连接阿里云上的NAS SMB文件系统,实现文件跨机器共享和永久存储。 虽然NAT网关可以将NAS SMB挂载点开放到公网方便用户本地客户端进行访问,但是直接暴露NAS SMB文件系统到公网有安全风险,任何人拿到公网地址和端口都可以进行访问。 推荐使用VPN或者专线方案将连接保护起来。VPN + SSL的方案可以参考MacOS客户端连接阿里云NAS SMB文件系统,以及通过VPN网关实现本地数据中心访问阿里云NAS。
3551 0
通过NAT网关实现本地客户端访问NAS SMB文件系统
|
4月前
|
存储 监控 安全
SMB协议基础篇
SMB(Server Message Block)协议是一种网络文件共享标准,主要用于局域网中的文件、打印机及串行端口共享。【8月更文挑战第1天】
708 1
|
Unix Linux Shell
第十三章、Linux账号管理与ACL权限设置
第十三章、Linux账号管理与ACL权限设置
113 0
|
存储 弹性计算 文件存储
阿里云文件系统SMB访问协议服务及使用指南
阿里云于2016年发布了支持NFS网络文件系统访问协议的阿里云文件系统。2017年3月,又增加了SMB文件系统访问协议的支持,正式对外公测。2018年1月,阿里云NAS SMB支持正式提供商业化服务。本文简单描述了SMB文件系统访问协议以及阿里云NAS支持的SMB协议功能,并简单介绍了该服务的使用场景以及使用流程。
6465 0
|
存储 网络安全 Windows
SMB文件共享及用户权限使用配置
SMB文件共享及用户权限使用配置
753 0
SMB文件共享及用户权限使用配置
阿里云文件系统SMB ACL超级用户功能使用指南
阿里云文件系统对于SMB文件系统提供了SMB ACL超级用户功能,可以方便客户在无需改变目录权限的情况下查看和修改任何目录或者任何文件。方便文件系统的管理员进行管理。 以下介绍两个适用SMB ACL超级用户功能的案例,方便用户模仿使用。
401 0
|
网络协议 Linux 文件存储
阿里云SMB协议文件存储服务支持基于AD域的用户身份认证及权限访问控制介绍
在本文中,我们首先简单介绍文件系统的用户认证和访问权限控制的概念,然后介绍阿里云SMB协议文件存储服务支持基于AD域系统的用户身份认证及访问权限控制的设计实现。
4126 0
阿里云SMB协议文件存储服务支持基于AD域的用户身份认证及权限访问控制介绍
|
文件存储 数据安全/隐私保护 Windows
从Windows以AD域用户身份挂载使用阿里云SMB协议文件系统
在完成AD域接入之后,用户即可开始以AD域用户身份挂载使用阿里云SMB协议文件系统了。本文介绍了几种SMB文件系统的挂在方式以及简单的ACL特性使用方法的演示。
6124 0
从Windows以AD域用户身份挂载使用阿里云SMB协议文件系统
|
网络协议 Linux 网络安全
MacOS客户端通过阿里云VPN连接阿里云NAS SMB文件系统
SMB远程文件传输协议在远程文件系统领域具有相当的统治地位。主流客户端厂家,包括微软、苹果以及Linux生态圈都支持SMB协议,并且苹果的MacOS已经将SMB作为其默认的远程文件协议。作为国内云厂商的龙头企业,阿里云NAS SMB文件系统也可以支持MacOS客户端。
5591 0
MacOS客户端通过阿里云VPN连接阿里云NAS SMB文件系统