Linux客户端以AD域用户身份挂载使用阿里云SMB协议文件系统

本文涉及的产品
对象存储 OSS,20GB 3个月
云备份 Cloud Backup,100GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
简介: 本文介绍了如何在Linux客户端以AD域用户身份挂载使用阿里云SMB协议文件系统。

**本文内容可能不是最新的,请查看官方文档:
[Linux客户端连接AD服务器并挂载SMB文件系统
](https://help.aliyun.com/document_detail/311431.html#section-iq7-sk2-p8h
)
**
阿里云SMB协议文件存储服务可以支持基于AD域系统的用户身份认证及访问权限控制了,使线下传统的基于微软的Active Directory域的文件系统及应用可以无缝地迁移到阿里云上来,进一步降低SMB协议的文件系统使用和运维成本。阿里云SMB协议文件存储服务可以依赖用户部署在线下或者阿里云上的AD域控制器,通过Kerberos网络身份认证协议来进行AD域用户身份的认证,然后基于认证的域身份来进行目录和文件级别的访问权限控制。

本文介绍了如何在Linux客户端以AD域用户身份挂载使用阿里云SMB协议文件系统。如果需要在windows以AD域用户身份挂载使用阿里云SMB协议文件系统,请参考从Windows以AD域用户身份挂载使用阿里云SMB协议文件系统

需要注意的是,阿里云的SMB协议文件存储服务支持Kerberos认证协议和windows Active Directory对接,目前暂不支持NTLM的认证协议。因此,在以AD域用户身份挂载阿里云SMB文件系统时,需要指明使用Kerberos认证协议。否则,Linux系统会以默认NTLM的身份登录,在SMB文件系统支持guest身份登录的情况下,实际登录的是guest账号。

你可以在Linux系统加入域或者不加入域的情况下,都可以以域用户的身份挂载文件系统。下面以Linux系统不加入域的情况为例,描述以域用户身份挂载阿里云SMB协议文件系统的流程。

在Linux系统不加入域的情况下以域用户身份挂载阿里云SMB文件系统

  1. 确认你已经安装必须的包。要以域用户身份挂载阿里云SMB协议文件系统,需要cifs-utils和krb5-workstation两个包。

    yum install cifs-utils krb5-workstation
  2. 添加域控制器AD的kdc到/etc/hosts

    xxx.xxx.xxx.xxx    <kdc_domain_name>
  3. 修改/etc/krb5.conf, 添加域相关的kdc配置信息。

    [libdefaults]
    default_realm = <domain_name>
    [realms]
    # EXAMPLE.COM = {
    #  kdc = kerberos.example.com
    #  admin_server = kerberos.example.com
    # }
    <domain_name> = {
      kdc = <kdc_domain_name>
    }
  4. 得到访问阿里云SMB协议文件系统挂载点的票据信息(如果是比较新的Linux版本,可以跳过这一步。)。

    # kinit -S cifs/<smb_filesystem_mount_point> domain_user_name@<domain_name> -V
    Using default cache: persistent:0:0
    Using principal: domain_user_name@<domain_name>
    Password for domain_user_name@<domain_name>:
    Authenticated to Kerberos v5
  5. 查询票据信息:klist

    # klist
    Ticket cache: KEYRING:persistent:0:0
    Default principal: <domain_user_name>@<domain_name>
    Valid starting       Expires              Service principal
    07/31/2019 05:57:36  07/31/2019 15:57:36  cifs/<smb_filesystem_mount_point>@<domain_name>
       renew until 08/07/2019 05:57:32
  6. 用域用户身份挂载阿里云文件系统。注意,需要指明安全认证协议为krb5。否则用户会以guest账号登录。如果是比较旧的版本,需要进行第5步)

      mount -t cifs //<smb_filesystem_mount_point>/myshare /mnt -o vers=2.1,sec=krb5
  7. 挂载文件系统后,挂载目录中的文件和目录显示的用户名和组是Linux本地执行挂载命令的账号,权限为755。但是,如果访问挂载时所用的域用户没有权限的目录,则会访问失败。如下所示,testnopermission目录是其他域用户创建的目录,虽然ls -l显示有访问权限,但是其访问被SMB文件系统的ACL所限制。

1564525786097_fc89847f_2893_479e_b834_f10260e2470c

  1. 我们建议用windows客户端来配置阿里云SMB文件系统的acl。当然,你也可以用getcifsacl和setcifsacl命令来取得或者配置阿里云SMB文件系统中的文件或目录的acl。

1564530064726_1746b6e0_47ef_4f83_9a8a_e7a0d2f982e0

更多的关于SMB文件系统的ACL配置信息以及ACL规则,参考《阿里云SMB协议文件系统ACL权限控制使用指南》。

阿里云SMB协议文件存储服务基于AD域系统的用户身份认证及访问控制的相关文章

如果要使用阿里云SMB协议文件存储服务的基于AD域系统的用户身份认证及访问权限控制功能,请在阿里云文件系统控制台打开配置该功能。具体请参考将阿里云SMB协议文件系统挂载点接入AD域

下面是使用基于AD域系统的用户身份认证及访问权限控制可能需要的相关知识点:

  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. Linux客户端以AD域用户身份挂载使用阿里云SMB协议文件系统,介绍如何从Linux客户端以域用户身份挂载使用阿里云SMB协议文件系统。
  8. 加入AD域的Linux客户端以AD域身份自动挂载阿里云SMB协议文件系统,介绍如何把Linux客户端加入AD域,如何挂载以及自动挂载阿里云SMB协议文件系统。
  9. 阿里云SMB协议文件系统ACL权限控制使用指南,介绍如何正确地配置阿里云SMB协议文件系统的ACL以及相应的规则描述。
  10. 阿里云SMB协议文件系统AD身份认证和ACL权限控制使用场景 - Home Directory / User Profile,介绍使用权限控制的域用户Home Directory以及User Profile两个场景下的相关配置及实现。
  11. MacOS客户端连接阿里云NAS SMB文件系统,介绍如何从MacOS客户端挂载使用阿里云SMB协议文件系统。
目录
相关文章
|
10天前
|
监控 Ubuntu Linux
使用VSCode通过SSH远程登录阿里云Linux服务器异常崩溃
通过 VSCode 的 Remote - SSH 插件远程连接阿里云 Ubuntu 22 服务器时,会因高 CPU 使用率导致连接断开。经排查发现,VSCode 连接根目录 ".." 时会频繁调用"rg"(ripgrep)进行文件搜索,导致 CPU 负载过高。解决方法是将连接目录改为"root"(或其他具体的路径),避免不必要的文件检索,从而恢复正常连接。
|
1月前
|
弹性计算 Linux 数据库
阿里云国际版如何迁移Linux云服务器系统盘中的数据
阿里云国际版如何迁移Linux云服务器系统盘中的数据
|
1月前
|
弹性计算 网络协议 Ubuntu
如何在阿里云国际版Linux云服务器中自定义配置DNS
如何在阿里云国际版Linux云服务器中自定义配置DNS
|
1月前
|
网络协议 安全 Linux
阿里云国际上如何检查 Linux 上正在使用哪些端口
阿里云国际上如何检查 Linux 上正在使用哪些端口
|
1月前
|
Linux
linux开机挂载镜像
【10月更文挑战第1天】在 Linux 系统中,开机挂载镜像通常涉及几个关键步骤,包括创建挂载点、编辑配置文件以及重新加载配置
68 0
|
3月前
|
Ubuntu Linux
内核实验(四):Qemu调试Linux内核,实现NFS挂载
本文介绍了在Qemu虚拟机中配置NFS挂载的过程,包括服务端的NFS服务器安装、配置和启动,客户端的DHCP脚本添加和开机脚本修改,以及在Qemu中挂载NFS、测试连通性和解决挂载失败的方法。
186 0
内核实验(四):Qemu调试Linux内核,实现NFS挂载
|
3月前
|
算法 Linux 索引
Linux0.11 根文件系统挂载(四)
Linux0.11 根文件系统挂载(四)
33 0
|
3月前
|
存储 Linux Shell
【应用服务 App Service】App Service For Linux 中如何挂载一个共享文件夹呢? Mount Azure Storage Account File Share
【应用服务 App Service】App Service For Linux 中如何挂载一个共享文件夹呢? Mount Azure Storage Account File Share
|
Web App开发 安全 Linux
|
3天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
18 3