所选语种没有对应资源,请选择:

本站点使用Cookies,继续浏览表示您同意我们使用Cookies。Cookies和隐私政策>

提示

尊敬的用户,您的IE浏览器版本过低,为获取更好的浏览体验,请升级您的IE浏览器。

升级

OceanStor 18500 V3&18800 V3 高端存储系统 V300R003 基础存储业务指南(文件业务) 16

本文档从基本概念、配置和管理等方面分别介绍了基础存储业务的具体配置过程。
评分并提供意见反馈 :
华为采用机器翻译与人工审校相结合的方式将此文档翻译成不同语言,希望能帮助您更容易理解此文档的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 华为对于翻译的准确性不承担任何责任,并建议您参考英文文档(已提供链接)。
跨协议访问共享

跨协议访问共享

OceanStor 18500 V3/18800 V3支持对一个文件系统同时设置NFS共享和CIFS共享。本章主要介绍OceanStor 18500 V3/18800 V3通过用户映射功能,使用户可以通过不同平台的客户端跨协议(CIFS-NFS)访问共享文件,并获得精确的权限控制。该功能仅在V300R003C10和V300R003C20版本支持。

概述

介绍CIFS-NFS跨协议访问共享时的用户映射机制。

CIFS-NFS跨协议访问服务

OceanStor 18500 V3/18800 V3支持对同一个文件系统或quota tree同时设置NFS共享和CIFS共享。不同协议的客户端,可以同时访问同一个文件系统或quota tree。由于Windows环境与Linux/Unix环境对于用户认证及访问控制等方面采取的机制不同,OceanStor 18500 V3/18800 V3通过统一管理实现不同环境下用户的映射关系和权限控制,以保障CIFS-NFS跨协议访问的安全性。

  • 用户使用CIFS协议的客户端访问OceanStor 18500 V3/18800 V3时,OceanStor 18500 V3/18800 V3首先对本地或AD域用户进行接入身份认证。若访问的文件或目录具有UNIX权限(UNIX Mode bits或者NFSv4 ACL)时,认证时会根据已设置的用户映射规则,将CIFS用户映射为NFS用户,再对用户访问权限进行Unix权限鉴权。
  • 用户使用NFS协议的客户端访问OceanStor 18500 V3/18800 V3时,若访问的文件或目录具有NT ACL,OceanStor 18500 V3/18800 V3根据已设置的用户映射规则将NFS用户映射为CIFS用户,再根据映射出的CIFS用户,进行NT ACL权限鉴权。
CIFS-NFS跨协议访问权限说明

当一个文件或目录具有的权限和客户端请求的权限不匹配时,即发生CIFS-NFS跨协议访问,需要将文件具有的权限映射成客户端可以显示的类型。

  • NFS客户端查看NTFS权限

    当NFS客户端查看具有NTFS权限的文件或目录权限时,将得到由NT ACL映射出来的UNIX权限,NFS客户端显示的权限按照最大权限映射,但实际权限判断结果是根据NT ACL来做的。例如:NFS客户端显示的权限为所有用户都可以读、写和执行,但实际某一用户可能仅有写权限。

  • CIFS客户端查看UNIX权限

    当CIFS客户端查看具有UNIX权限文件或目录权限时,UNIX权限将被映射出3条分别针对创建者、创建者主组和everyone的ACE供CIFS客户端显示。同样,这个NT ACL只用于显示,不会用于实际的操作权限控制。

权限在UNIX Mode bits、NFSv4 ACL和NT ACL之间的转化如表3-41所示。

表3-41  UNIX Mode bits、NFSv4 ACL和NT ACL之间的权限转化关系

文件权限

权限转换关系

如果文件或目录只具备有效的UNIX Mode bits

  • 不论是NFS客户端还是CIFS客户端请求读取ACL,都会通过UNIX Mode bits映射出一个ACL。
  • NFSv4客户端请求设置ACL,NFSv4 ACL将生效,同时会根据NFSv4 ACL精确地映射出UNIX Mode bits。
  • CIFS客户端请求设置ACL,NT ACL将生效,同时会根据NT ACL映射出最大权限的UNIX Mode bits。

如果文件或目录具备有效的NFSv4 ACL或者NT ACL

  • NFS客户端使用chmod命令改变权限,NFSv4 ACL或者NT ACL将被丢弃,UNIX Mode bits将会生效。
  • NFS客户端使用chmod命令添加或移除SUID/SGID/STICKY,NFSv4 ACL或者NT ACL将被丢弃,UNIX Mode bits将会生效。

如果文件或目录具备有效的NFSv4 ACL

  • NFS客户端请求读取UNIX Mode bits,会将存储的UNIX Mode bits(根据NFSv4 ACL映射而来)直接返回。
  • CIFS客户端请求读取NT ACL,会根据存储的UNIX Mode bits映射出一个NT ACL。
  • 如果CIFS客户端请求设置NT ACL,NFSv4 ACL将被丢弃,NT ACL将生效,且UNIX Mode bits将由NT ACL映射而来。

如果文件或目录具备有效的NT ACL

  • NFS客户端请求读取UNIX Mode bits,会将存储的UNIX Mode bits(根据NT ACL映射而来)直接返回。
  • NFSv4客户端请求读取NFSv4 ACL,会根据存储的UNIX Mode bits映射出一个NFSv4 ACL。
  • 如果NFSv4客户端请求设置NFSv4 ACL,NT ACL将被丢弃,NFSv4 ACL将生效,且UNIX Mode bits将由NFSv4 ACL映射而来。
CIFS-NFS跨协议用户映射

由于Windows系统(CIFS协议)和Linux系统(NFS协议)采用的用户标识和鉴权方式均不同:

  • Windows系统通过SID(security identifier)对用户进行识别,SID可以用于系统内的所有用户、组、服务或计算机。在鉴权方式上,CIFS协议支持NT ACL。
  • Linux系统通过UID(user identity)和一个或多个GID(group identity)对用户进行识别,一个用户至少属于一个用户组。在鉴权方式上,NFS支持UNIX Mode bits、NFSv4 ACL等多种安全控制机制。

CIFS-NFS跨协议访问共享时,需要通过用户映射规则将不同协议的用户建立起对应关系,以对跨协议的用户进行鉴权和权限精确控制。

用户映射发生的时机如下:
  • 对于CIFS客户端,只有当其访问具有NFSv4 ACL权限或只具有UNIX Mode bits权限的文件或目录时,用户映射才会发生。此时,CIFS客户端会同时具有映射前和映射后的用户权限。
  • 对于NFS客户端,只有当其访问的是具有NT ACL的文件或目录时,用户映射才会发生。此时,NFS客户端会同时具有映射前和映射后的用户权限。
  • 跨协议编辑权限会导致权限类型变更,例如NFS客户端在访问具有NT ACL权限的文件或目录时会发生用户映射,如果此时NFS客户端使用chmod命令或者设置NFSv4 ACL的方式修改了该文件或目录的权限,此后NFS客户端访问该文件或目录时则不会再有用户映射,即不会再具有映射后用户权限。
    说明:
    建议不进行跨协议编辑权限,避免导致权限类型变更。
  • 当父目录具有向下继承的NT ACL权限时,无论在NFS客户端还是CIFS客户端创建的文件或目录默认具有继承的NT ACL权限,此时NFS客户端访问,总是会发生用户映射,即用户访问时会同时具有映射前和映射后的用户权限;当父目录不具有向下继承的NT ACL权限时,无论在NFS客户端还是CIFS客户端创建的文件或目录默认具有UNIX Mode bits权限,此时NFS客户端访问,不会发生用户映射,即用户访问时不会有映射后的用户权限。
  • CIFS客户端的用户映射关系变更,需要断开CIFS连接后重新认证才会生效。
  • NFS客户端的用户映射结果会在存储系统中缓存,默认4小时自动失效,对于新增用户映射或者用户信息变更等情况需要原缓存过期后才生效。

用户映射规则标识了不同类型用户账号之间的映射关系,可以存放在本地数据库,也可以集中在AD域上管理。一条用户映射规则包括映射的类型、映射前的用户、映射后的用户以及映射优先级。若同一个用户匹配到多条用户映射规则时,按照优先级进行匹配,优先级一致时先配置的规则优先匹配。

用户映射过程如下(以存储系统本地用户映射为例):
  • NFS-CIFS的用户映射:NFS用户在服务端以UID进行鉴权,当发生用户映射时,按照本地、LDAP域和NIS域的顺序查找UID对应的用户名,再通过UID对应的用户名根据本地配置的映射关系查找出映射后的用户名及其SID和所属用户组,从而完成映射。
  • CIFS-NFS的用户映射:CIFS用户在服务端以SID进行鉴权,当发生用户映射时,会通过SID对应的用户名根据本地配置的映射关系查找出映射后的用户名,再按照本地、LDAP域和NIS域的顺序查找映射后的用户名对应的UID及其所属组,从而完成映射。
说明:
不建议用户在本地、LDAP域和NIS域中配置相同UID或相同用户名的用户,一旦存在相同UID或相同用户名的用户,在发生用户映射时,会导致映射结果不符合预期。

配置CIFS-NFS跨协议用户映射

配置CIFS-NFS跨协议用户映射包括配置映射参数、创建用户映射。

配置映射参数

您不仅可以在存储系统上创建本系统的用户映射关系,而且也可以使用外部的IDMU域中的用户映射来访问其他系统的共享信息,本操作介绍如何配置用户映射的映射模式、使用IDMU时的搜索超时时间及搜索DN。

背景信息

在仅使用IDMU用户映射时,可不在存储系统上配置本系统的用户映射关系。

操作步骤

  1. 登录DeviceManager。
  2. 选择资源分配 > 认证用户 > 用户映射
  3. 单击“设置映射参数”
  4. 配置用户映射参数,相关参数如表3-42所示。

    表3-42  映射参数说明

    参数名称

    参数说明

    参数设置

    映射模式

    用户映射的全局参数,包括:
    • 不支持用户映射:系统不支持用户映射特性。
    • 只支持本系统的用户映射:系统只支持本系统内创建的用户映射关系。
    • 只支持IDMU域的用户映射:系统只支持IDMU域内的用户映射关系。
    • 优先支持IDMU域的用户映射:当本系统和IDMU域同时都存在指定源用户的用户映射关系,则系统优先使用IDMU域中的映射关系。
    • 优先支持本系统的用户映射:当本系统和IDMU域同时都存在指定源用户的用户映射关系,则系统优先使用本系统中的映射关系。

    [示例]

    只支持IDMU域的用户映射:系统只支持IDMU域内的用户映射关系。

    IDMU搜索超时时间(秒)

    系统在IDMU域中搜索指定用户映射的超时时间。

    [取值范围]

    5~120

    [默认值]

    15

    IDMU搜索DN

    系统在IDMU域中搜索指定用户映射的基准目录。该基准目录中存放用户映射信息。

    [取值范围]

    目录长度为0~255个字符。

    [默认值]

    [示例]

    假设域名为:auth2k8.com,则搜索DN可配置为DC=auth2k8,DC=com

  5. 单击“确定”

    系统弹出“成功”对话框。

  6. 单击“确定”
创建本系统用户映射

成功创建用户映射后,在进行跨协议访问共享时,系统会根据映射关系将源用户映射为目标用户进行共享访问。

操作步骤

  1. 登录DeviceManager。
  2. 选择资源分配 > 认证用户 > 用户映射
  3. 单击“创建”

    系统弹出“创建用户映射”对话框。

  4. 设置用户映射的相关参数,如表3-43所示。

    表3-43  用户映射参数

    参数名称

    参数说明

    参数设置

    映射类型

    与操作系统相关的用户映射类型。包括:
    • Windows映射到Unix:当通过Windows操作系统访问Unix共享时,Windows用户具有与映射目标用户相同的权限。
    • Unix映射到Windows:当通过Unix操作系统访问Windows共享时,Unix用户具有与映射目标用户相同的权限。

    [示例]

    Windows映射到Unix

    源用户

    映射关系的源用户。

    [示例]

    sourceuser

    目标用户

    映射关系的目标用户。

    [示例]

    targetuser

  5. 单击“增加”,并配置映射关系的“优先级”

    说明:
    优先级:数字越小,优先级越高。当多条映射关系具有相同的源用户时,系统将使用优先级最高的映射关系。

  6. 可选:单击“测试”,检查目标用户是否存在。

    说明:

    单击“移除”,可从列表中删除该条映射。

  7. 单击“确定”
  8. 单击“关闭”

跨协议访问CIFS协议文件

本节介绍用户使用NFS客户端访问已经设置了NT ACL权限的文件和文件夹。

前提条件

  • Linux客户端存在的用户具有与本地认证用户相同的UID/GID。

    可以通过DeviceManager查看本地认证用户的用户ID及其所属主组的用户组ID,在Linux客户端通过命令groupadd -g GID 用户组名创建新用户组,useradd -u UID -g GID 用户名创建新用户。

  • 若NFS客户端使用NFSv4协议,在存储系统中开启NFSv4服务并按如下方式输入域名。
    • 在无域或LDAP环境下,输入默认域名“localdomain”
    • 在NIS环境下,输入的信息和访问共享的Linux客户端上“/etc/idmapd.conf”文件中的domain一致(推荐这两者都为NIS域的域名)。
  • 若要使用AD域用户配置用户映射规则,请确保存储系统已加入AD域。

背景信息

用户在使用NFS客户端成功访问已经设置了NT ACL权限的文件和文件夹之前,需要管理员完成一系列的配置操作,参考流程如图3-6所示。

图3-6  跨协议访问CIFS协议文件流程示例

本示例中配置数据规划如表3-44所示。

表3-44  示例数据规划

项目

规划值

说明

文件系统

  • 名称:share_dir
  • 权限:使用默认权限设置

本示例中,共享目录权限设置采用默认选项。

本地认证用户

local_user1

本示例中,主组选择默认用户组“default_group”

NFS客户端用户

linux_user1

需要与本地认证用户具有相同的UID/GID。

NFS共享

  • 客户端类型:主机
  • 名称或IP:10.68.0.10
  • 权限:读写
  • 高级:使用默认设置

本示例中,在NFS共享中为客户端添加“读写”权限,高级设置中均采用默认选项。

CIFS共享

  • 共享名称:share_dir_cifs
  • Oplock:启用
  • Notify:启用
  • 用户/用户组:本地认证用户local_user1
  • 权限级别:完全控制

本示例中,在CIFS共享中为本地认证用户local_user1设置访问权限为“完全控制”

映射模式

优先支持本系统的用户映射

-

用户映射规则

  • 映射类型:Unix映射到Windows
  • 源用户:linux_user1
  • 目标用户:local_user1
  • 优先级:10

本示例中,创建“Unix映射到Windows”的映射规则,源用户为本地认证用户“linux_user1”,目标用户为本地认证用户“local_user1”,映射规则优先级设置为10。

操作步骤

  1. 登录DeviceManager。
  2. 可选:创建文件系统。
    1. 依次选择资源分配 > 文件系统
    2. 参考规划参数,创建名称为“share_dir”文件系统。
  3. 可选:创建本地认证用户,并记录用户ID及其所属主组的用户组ID。
    1. 依次选择资源分配 > 认证用户 > 本地认证用户
    2. 单击“创建”,参考规划参数,创建名称为“local_user1”的本地认证用户。
    3. 选中“local_user1”并单击“属性”,记录用户ID。

      图3-7  记录本地认证用户ID

    4. 单击“本地认证用户组”页签,选中“default_group”并单击“属性”,记录用户组ID。

      图3-8  记录本地认证用户组ID

  4. 对同一文件系统配置NFS共享和CIFS共享。
    1. 依次选择资源分配 > 共享
    2. 参考规划参数,对同一文件系统分别创建NFS共享和CIFS共享。
  5. 配置用户映射参数。
    1. 依次选择资源分配 > 认证用户 > 用户映射
    2. 单击“映射参数”,配置“映射模式”“优先支持本系统的用户映射”

      图3-9  配置用户映射参数

  6. 配置用户映射规则。
    1. 依次选择资源分配 > 认证用户 > 用户映射
    2. 单击“创建”,参考规划参数,设置用户映射规则。

      图3-10  配置用户映射规则

  7. 使用Windows客户端访问共享目录“share_dir”,并对共享目录下的文件进行权限设置。
    1. 使用Windows客户端访问CIFS共享,请参见访问共享空间
    2. 在共享目录下新建文件夹subdir1和文件file1。
    3. 为新建文件夹subdir1和文件分别添加一条ACE。

      右键单击文件夹或文件,在弹出的属性窗口中,选择“安全”页签,为用户local_user1添加写权限的ACE。



  8. 使用NFS客户端挂载共享,并使用本地用户linux_user1访问共享文件。
    1. 在NFS客户端挂载共享。请参见访问NFS共享
    2. 执行命令groupadd -g 100000 linux_group,创建与本地认证用户组GID的用户组。
    3. 执行命令useradd -u 100001 -g 100000 linux_user1,创建与本地认证用户相同UID/GID的用户。

      说明:

      命令中的UID和GID为本示例规划数据中使用的值,实际场景下请替换。

    4. 执行命令su - linux_user1,切换用户。
    5. 对文件夹subdir1执行写操作。

      写操作成功,Linux客户端对该文件夹具有写权限。

跨协议访问NFS协议文件

本节介绍用户使用CIFS客户端访问已经被设置了Unix权限的文件和文件夹。

前提条件

  • AD域服务器已经安装IDMU(Identity Management for UNIX)组件,并开启NIS服务。
  • 已完成配置存储系统加入NIS域环境,且NIS服务器为AD域控的NIS服务。
  • Linux客户端存在的用户具有与本地认证用户相同的UID/GID。

    可以通过DeviceManager查看本地认证用户的用户ID及其所属主组的用户组ID,在Linux客户端通过命令groupadd -g GID 用户组名创建新用户组,useradd -u UID -g GID 用户名创建新用户。

  • 若NFS客户端使用NFSv4协议,在存储系统中开启NFSv4服务并按如下方式输入域名。
    • 在无域或LDAP环境下,输入默认域名“localdomain”
    • 在NIS环境下,输入的信息和访问共享的Linux客户端上“/etc/idmapd.conf”文件中的domain一致(推荐这两者都为NIS域的域名)。

背景信息

用户在使用Windows客户端成功访问已经设置了Unix权限的文件和文件夹之前,需要管理员完成一系列的配置操作,参考流程如图3-11所示。

图3-11  跨协议访问NFS协议文件流程示例

本示例中配置数据规划如表3-45所示。

表3-45  示例数据规划

项目

规划值

说明

文件系统

  • 名称:share_dir2
  • 权限:使用默认权限设置

本示例中,共享目录权限设置采用默认选项。

本地认证用户

local_user2

本示例中,主组选择默认用户组“default_group”

NFS客户端用户

linux_user2

需要与本地认证用户具有相同的UID/GID。

NFS共享

  • 客户端类型:主机
  • 名称或IP:10.68.0.10
  • 权限:读写
  • 高级:使用默认设置

本示例中,在NFS共享中为客户端添加“读写”权限,高级设置中均采用默认选项。

CIFS共享

  • 共享名称:share_dir_cifs2
  • Oplock:启用
  • Notify:启用
  • 用户/用户组:本地认证用户local_user2
  • 权限级别:完全控制

本示例中,在CIFS共享中为本地认证用户local_user2设置访问权限为“完全控制”

映射模式

优先支持本系统的用户映射

-

用户映射规则

  • 映射类型:Windows映射到Unix
  • 源用户:local_user2
  • 目标用户:linux_user2
  • 优先级:10

本示例中,创建“Windows映射到Unix”的映射规则,源用户为本地认证用户“local_user2”,目标用户为本地认证用户“linux_user2”,映射规则优先级设置为10。

操作步骤

  1. 登录DeviceManager。
  2. 可选:创建文件系统。
    1. 依次选择资源分配 > 文件系统
    2. 参考规划参数,创建名称为“share_dir2”文件系统。
  3. 可选:创建本地认证用户,并记录用户ID及其所属主组的用户组ID。
    1. 依次选择资源分配 > 认证用户 > 本地认证用户
    2. 单击“创建”,参考规划参数,创建名称为“local_user2”的本地认证用户。
    3. 选中“local_user2”并单击“属性”,记录用户ID。

      图3-12  记录本地认证用户组ID

    4. 单击“本地认证用户组”页签,选中“default_group”并单击“属性”,记录本地认证用户所属主组的用户组ID。

      图3-13  记录本地认证用户所属主组的用户组ID

  4. 对同一文件系统配置NFS共享和CIFS共享
    1. 依次选择资源分配 > 共享
    2. 参考规划参数,设分别创建NFS共享和CIFS共享。
  5. 配置用户映射参数。
    1. 依次选择资源分配 > 认证用户 > 用户映射
    2. 单击“映射参数”,配置“映射模式”“优先支持本系统的用户映射”

      图3-14  配置用户映射参数

  6. 配置用户映射规则。
    1. 依次选择资源分配 > 认证用户 > 用户映射
    2. 单击“创建”,参考规划参数,设置用户映射规则。

      图3-15  配置用户映射规则

  7. 使用NFS客户端挂载共享,并对共享目录下的文件进行权限设置。
    1. 在NFS客户端挂载共享。请参见访问NFS共享
    2. 执行命令groupadd -g 100000 linux_group,创建与本地认证用户组GID的用户组。
    3. 执行命令useradd -u 100002 -g 100000 linux_user2,创建与本地认证用户相同UID/GID的用户。

      说明:

      命令中的UID和GID为本示例规划数据中使用的值,实际场景下请替换。

    4. 执行命令su - linux_user2切换用户。
    5. 在共享路径下创建文件“soft.txt”和文件“hard.txt”;执行ln命令分别指向这两个文件的软链接soft_file和硬链接hard_file
  8. 使用Windows客户端访问共享目录,并对共享目录下的文件进行打开、读写、关闭、删除、重命名等操作。
    1. 在Windows客户端上使用用户名local_user2访问共享目录share_dir2,请参见访问共享空间
    2. 对共享目录下的文件进行打开、读写、关闭、删除、重命名等操作。

      对文件夹和文件的操作成功。

翻译
下载文档
更新时间:2019-08-14

文档编号:EDOC1000084024

浏览量:9947

下载量:706

平均得分:
本文档适用于这些产品
相关版本
相关文档
Share
上一页 下一页