Oracle® ZFS Storage Appliance 管理指南,发行版 OS8.6.0

退出打印视图

更新时间: 2016 年 7 月
 
 

SMB 协议

此部分包含以下主题:

有关 SMB 协议的更多信息,请参见以下主题:

有关其他受支持协议的信息,请参见以下各节:

SMB 协议属性

每个共享资源都有特定于协议的属性,这些属性定义了不同的协议针对该共享资源的行为。可以为每个共享资源定义这些属性,也可以从共享资源的项目继承这些属性。下表显示了 SMB 协议属性和可能的值。

表 113  SMB 协议属性
属性
CLI 值
属性类型
说明
Share mode(共享模式)
off/rw/ro
继承
确定共享资源是只可用于读取、可用于读写,还是不可用于两者中的任何一个。请参见SMB 协议共享模式的例外情况
Resource name(资源名称)
resource_ name/off/on
继承
显示 SMB 客户机用来引用此共享资源的名称。资源名称 off 表示没有 SMB 客户机可以访问共享资源,资源名称 on 表示共享资源将随文件系统的名称一起导出。
Enable Access-based Enumeration(启用基于访问的枚举)
abe
继承
启用后,执行基于访问的枚举。
Enable guest access(启用来宾访问)
guestok
继承
启用后,授予来宾访问权限。
Is a DFS namespace(是 DFS 名称空间)
dfsroot
继承
指示此共享资源是否置备为单机 DFS 名称空间。
Client-side caching policy(客户端高速缓存策略)
csc
继承
指示提供用来支持客户端高速缓存的基于共享资源的配置选项。有关更多信息,请参见客户端高速缓存属性

客户端高速缓存属性

"Client-side caching"(客户端高速缓存)属性 (csc) 用于控制共享资源中的文件和程序是否缓存到本地客户机,以供与设备断开连接时脱机使用。

BUI 值
CLI 值
说明
No caching(不进行高速缓存)
none
对共享资源禁用客户端高速缓存。共享资源中的任何文件或程序均不能脱机使用。
Manual caching(手动进行高速缓存)
manual
仅指定的文件和程序缓存到本地客户机上,可以脱机使用。联机时,指定的程序从本地客户机运行。本地客户机重新联机时,脱机文件不会自动重新整合。这是默认值。
Automatic document caching(文档自动高速缓存)
documents
可从共享资源访问的所有文件均缓存到本地客户机上,可以脱机使用。本地客户机重新联机时,文件自动重新整合。可从共享资源访问的程序均不可脱机使用,除非之前已经缓存到本地。
Automatic program caching(程序自动高速缓存)
programs
可从共享资源访问的所有程序均缓存到本地客户机上,可以脱机使用。联机时,程序从本地客户机运行。另外,可从共享资源访问的所有文件均缓存到本地客户机上,可以脱机使用。本地客户机重新联机时,文件自动重新整合。

SMB 协议共享模式的例外情况

通过设置客户机特定的共享模式(或例外情况),可为客户机或客户机集合定义全局共享模式的例外情况。一般来说,这样允许客户机在限制了对几个选定客户机的访问权限等情况时授予对整个子网的读取/写入访问权限。客户机特定的共享模式优先于全局共享模式。系统会根据例外情况中指定的客户机特定的共享模式向客户机授予访问权限。如果未定义例外情况,将根据全局共享模式向客户机授予访问权限。

表 114  客户机类型
类型
CLI 前缀
说明
示例
Host(FQDN) or Netgroup(主机 (FQDN) 或网络组)
none
其 IP 地址解析为指定的全限定名称的单个客户机,或包含客户机的 IP 地址解析为的全限定名称的网络组。
caji.sf.example.com
DNS Domain(DNS 域)
.
其 IP 地址解析为以此后缀结尾的全限定名称的所有客户机。
sf.example.com
IPv4 子网
@
其 IP 地址位于指定的 IPv4 子网(以 CIDR 表示法表示)内的所有客户机
192.168.20.0/22
IPv6 子网
@
其 IP 地址位于指定的 IPv6 子网(以 CIDR 表示法表示)内的所有客户机
2606:b400:410:d43::/64

对于每个客户机或客户机集合,请指定客户机对共享资源有只读还是读-写权限。

管理网络组-网络组可用于控制对 NFS 导出的访问权限。但是,网络组的管理可能很复杂。请考虑改用 IP 子网规则或 DNS 域规则。

如果使用网络组,则将通过 NIS 或 LDAP 解析它们,具体取决于启用了哪个服务。如果使用 LDAP,则每个网络组必须位于默认位置 ou=Netgroup,(Base DN),并且必须使用标准模式。

网络组条目的用户名组件通常不会影响 NFS 或 SMB;只有主机名有意义。网络组中包含的主机名必须是规范化的,如果使用 DNS 进行解析,则必须是全限定的。也就是说,NFS 或 SMB 子系统将尝试验证请求方客户机的 IP 地址是否可以解析为与指定的 FQDN,或与指定的网络组之一的某个成员匹配的规范化主机名。该匹配必须为严格匹配,包括所有域组件;否则,将不会匹配该例外并将尝试下一个例外。有关主机名解析的更多信息,请参见 DNS

从 2013.1.0 软件发行版开始,UNIX 客户机用户最多可以属于 1024 个组,而性能丝毫不减。在以前的发行版中,每个 UNIX 客户机用户最多可以属于 16 个组。

SMB 共享模式以及例外情况选项

在 CLI 中,所有 SMB 共享模式和例外都是通过针对 sharesmb 属性使用单个选项字符串指定的。此字符串是逗号分隔的值列表。作为针对 BUI 介绍的全局共享模式的对应体,它应以 rorwonoff 之一开头。

表 115  SMB 共享模式值(BUI 和 CLI)
BUI 值
CLI 值
说明
off
禁用共享模式。
Read/write(读取/写入)
on
如果没有 SMB 例外情况,共享资源名称是数据集名称,且共享资源读取和写入。如果存在 SMB 例外情况,则禁用共享模式。
rw
共享资源名称是数据集名称,且共享资源读取和写入。
Read only(只读)
ro
共享资源名称是数据集名称,且共享资源只能用于读取。

以下示例将所有客户机的共享模式设置为只读。所有客户机上的 root 用户将如同普通 "nobody" 用户一样访问共享资源上的文件。

set sharesmb=ro

可以通过附加 "option=collection" 格式的文本(其中,"option" 是 rorw)来指定更多的 SMB 例外情况。您不能对 SMB 例外情况授予 root 用户访问权限。客户机集合是由“客户机类型”表中的前缀字符,以及一个 DNS 主机名/域名或 CIDR 网络号指定的。

例如,要授予对 sf.example.com 域中的所有主机的读写权限,您可以使用:

set sharesmb="ro,rw=.sf.example.com"

在任何可以使用单个全限定主机名的位置中都可以使用网络组名称。例如,您可以通过以下方式允许对 "engineering" 网络组进行读写访问:

set sharesmb="ro,rw=engineering"

共享资源级 ACL

共享资源级访问控制列表 (Access Control List, ACL) 与共享资源中文件或目录的 ACL 结合使用来确定该文件的有效权限。默认情况下,此 ACL 向每个人授予完全控制权限。此 ACL 在文件上的 ACL 之上又提供了一个访问控制层,以便实现更加复杂的访问控制配置。只有在通过配置 SMB 资源名称导出文件系统后,才可设置此属性。如果未通过 SMB 协议导出文件系统,则设置共享资源级 ACL 不起任何作用。

启用基于访问权限的枚举后,客户机可以看到它们无法打开的文件的目录条目。只有当客户机无权访问该文件时才会过滤掉目录条目。例如,如果客户机尝试打开某个文件进行读/写访问,但 ACL 只授予了读取访问权限,则打开请求将失败,不过条目列表中仍会包括该文件。

有关 ACL 的更多信息,请参见文件系统的访问控制列表