创建CIFS共享

将命名空间以CIFS方式共享后,用户可以访问该共享的存储空间。

注意事项

不建议在“敏感”模式的命名空间上开启CIFS协议。

存储侧只能按照敏感模式处理客户端的请求中携带的文件名,同时在需要携带文件名的响应中携带敏感文件名返回客户端。如果客户端不能正确识别敏感文件名,则在某些特殊场景下,会发生包括但不仅限于如下现象:
  1. 使用cmd执行ren <src> <dest>操作,如果<src>文件存在重名文件(重名文件是指大小写不敏感下同一目录下file_A和file_a,以下重名文件同理),则客户端可能会提示:存在一个重名文件或是找不到文件。
  2. 在Explorer中右键删除file,如果该文件夹下存在重名文件(如File),则在删除执行后,可能会由于客户端缓存淘汰策略的原因,出现File文件删除,file文件残留的现象,此时访问file文件,提示文件不存在。右键刷新后,File文件恢复,file文件消失。
  3. 在cmd中执行del <dest>操作,如果<dest>文件存在重名文件(如file_A和file_a),则删除的文件可能不是用户指定的<dest>文件。例如执行del file_A可能删除的是文件file_a。

如评估如上情形对业务无影响或可接受对应的影响,建议在敏感的命名空间上创建CIFS共享前,打开命名空间的回收站功能,合理设置保留时长,减少由于客户端的异常行为导致数据丢失的概率。

如果无法评估对业务的影响,您也可以联系技术工程师进行确认。

操作步骤

  1. 选择“资源 > 资源 > 命名空间”。
  2. 在左上方的“帐户”下拉框中选择需要创建CIFS共享的命名空间所属的帐户。
  3. 单击命名空间所在行右侧的“更多”,选择“创建CIFS共享” 。

    系统弹出“创建CIFS共享”页面。

  4. 设置CIFS共享的名称。

    • 名称不能重复。
    • 共享名称不能包含如下字符 " / \ [ ] : | < > + ; , ? * =,首尾字符不能为空格,同时不能使用如下系统保留名称ipc$、autohome、~和print$。
    • 长度为1~80个字符(1个中文字符占3个字符长度)。

  5. 设置CIFS共享的高级属性。单击“高级”。

    相关参数如表1所示。

    表1 CIFS共享高级参数

    参数名称

    参数说明

    描述

    CIFS共享的描述。
    说明:

    长度范围为0~255位(1个中文字符占3个字符长度)。

    添加默认ACL

    选择是否添加默认ACL。添加默认ACL功能用于当共享根目录无ACL时,对CIFS共享根目录设置默认ACL(everyone完全控制,且应用于当前目录、文件和子目录),后续可以更改该默认ACL。如果想保持原UNIX MODE权限,则不要启用添加默认ACL功能。

    Notify

    开启后,一个客户端针对一个目录内的变更操作(如新增目录、新增文件、修改目录、修改文件等),可被其他正在访问此目录及其父目录的客户端感知。变更操作在自动刷新后显示。

    Continuously Available

    此选项为SMB Failover特性的开关。

    说明:

    请启用Oplock配置项,并使用CLI命令change service cifs smb_global_ca_enable=yes开启租户的SMB业务连续性开关后,SMB Failover特性才能生效。

    SMB3加密

    选择是否开启SMB3加密,开启后,系统将对共享进行加密,保证数据安全,但会造成性能下降。

    须知:
    • 开启该功能后将会对SMB3业务性能产生影响。请确认是否需要开启该功能。
    • 开启SMB3加密后,默认只允许SMB3客户端访问共享。

    非加密客户端访问

    开启后,无加密能力的客户端也可以访问共享。

    须知:
    • 开启该功能后将会允许旧版本客户端(例如:windows7)以明文方式访问启用SMB3加密功能的共享。请确认是否需要开启该功能。
    • 该功能仅在SMB3加密功能开启后才生效。

    Oplock

    Oplock(Opportunistic locking,机会锁)是提升客户端访问效率的一种机制,用于在文件发送到共享存储之前进行本地缓冲。以下场景不推荐启用该功能:

    • 对数据完整性要求很高的场景。开启Oplock功能后,存在网络中断、客户端故障等导致客户端本地缓存丢失的风险,如果上层业务软件无数据保障、修复或重试机制,可能会造成数据丢失。
    • 多个客户端访问相同文件的场景。此场景如果开启了Oplock功能,会对整个系统性能产生一定的影响。
    说明:

    帐户级别Oplock功能与共享Oplock开关同时打开,共享Oplock开关才能生效。

    Lease

    租约锁,允许客户端用租约密钥锁定文件,服务器可以撤消锁定。

    说明:
    • SMB 2.1及更高版本的客户端才支持租约锁。
    • 请先执行CLI命令change service cifs enable_leasev2=yes打开Lease锁,帐户级别Lease锁与共享Lease开关同时打开,共享Lease开关才能生效。

    ABE

    启用ABE(Access Based Enumeration)后,共享目录中不显示用户无权限的文件和文件夹。

    说明:

    SMB2/SMB3支持ABE功能,SMB1不支持。

    显示以前的版本

    启用显示以前的版本的功能后,客户端能够显示和回滚以前的版本。

  6. 设置访问CIFS共享的用户或用户组。

    1. 在“权限”区域,单击“增加”。

      系统弹出“增加用户/用户组”对话框。

    2. 选择用户或用户组的“类型”。

      取值包括:“Everyone”、“Windows本地认证用户”、“Windows本地认证用户组”、“AD域用户”和“AD域用户组”。

      • 如果选择“Windows本地认证用户”或“Windows本地认证用户组”,在列表中选择需要增加的用户或用户组。
      • 如果选择“AD域用户”或“AD域用户组”,在“名称”中输入对应用户或用户组的名称。
        • 名称格式为“域名\域用户名”或“域名\域用户组名”。
        • 名称总长度为1~256个字符(1个中文字符占3个字符长度)。
        • 同时输入多个名称时,以回车键分隔。
        • 如果用户没有CIFS共享管理员权限,需要修改共享使用的命名空间或Dtree的根目录权限为777后,才能在命名空间或Dtree的根目录下创建文件/目录。修改命名空间根目录权限的CLI命令为:
          change namespace general name=命名空间名称 unix_permissions=777
          修改Dtree根目录权限的CLI命令为:
          change dtree general dtree_name=Dtree名称 file_system_id=命名空间ID unix_permissions=777
    3. 在“权限级别”中,为增加的用户或用户组选择访问CIFS共享的权限。

      具体权限细分说明如表2所示。

      表2 CIFS共享权限说明

      权限项目

      禁止

      只读

      读写

      完全控制

      查看文件和子目录

      Xa

      b

      查看文件里面的内容

      X

      运行可执行文件

      X

      添加文件或者子目录

      X

      -c

      改变文件内容

      X

      -

      删除文件和子目录

      X

      -

      重命名

      X

      -

      修改文件/目录的ACL权限

      X

      -

      -

      a:当前权限级别下,用户不具有表格左侧项目的权限。

      b:当前权限级别下,用户具有表格左侧项目的权限。

      c:当前权限级别下,用户不涉及表格左侧项目的权限。

      对审计日志命名空间创建共享时,不支持设置为“读写”和“完全控制”权限。

    4. 单击“确定”。

      系统将所选择的用户或用户组加入到“权限”列表。

  7. 单击“确定”。