本文档介绍如何用macOS客户端挂载SMB文件系统及如何使用macOS客户端通过Kerberos协议访问SMB文件系统。

前提条件

macOS客户端挂载SMB文件系统

  1. 通过VPN网关建立VPC到macOS客户端的远程连接,详情请参见Mac客户端远程连接
    其中,在步骤二:创建SSL服务端中,客户端网段本端网段不能重复,本端网段为VPC的网段。您可以登录专有网络管理控制台,在专有网络详情查看VPC网段信息。mac002
  2. 验证macOS客户端和SMB文件系统挂载点的连通性。
    VPN网关连接后,通过ping命令pingVPC内SMB文件系统挂载点,验证通信是否正常。mac003
    说明 如果挂载点无法ping通,则需要通过一台与SMB文件系统在同一VPC下的ECS云服务器ping挂载点得到挂载点IP,使用挂载点IP在macOS上进行挂载操作。
  3. 挂载SMB文件系统。
    • 通过macOS客户端图形界面化操作
      1. 在macOS客户端桌面顶部的Finder栏,单击Go > Connect to Servermac004
      2. Connect to Server对话框,输入挂载点,单击Connectmac005
      3. 在对话框Connect As区域,选中Guest,单击Connectmac006
      4. 在macOS客户端桌面顶部的Finder栏,单击Go > Computer,选中myshare页签查看已挂载的SMB文件系统。
        说明 挂载完成后,macOS客户端会去读取挂载的NAS中所有文件。文件读取过程中,myshare可能显示为空,请您耐心等待。
        mac007
    • 通过macOS客户端命令行操作
      执行mount_smbf命令行挂载SMB文件系统。示例如下:
      mount_smbfs '//guest@nas-mount-point.nas.aliyuncs.com/myshare' /Volumes/myshare/
      其中nas-mount-point.nas.aliyuncs.com为SMB文件系统的专有网络挂载点。
      如下图返回示例,即为挂载成功。mac

macOS客户端通过Kerberos协议访问SMB文件系统

SMB文件系统默认只支持NTLM鉴权协议,无论macOS客户端以什么身份挂载,鉴权后得到的身份均为Everyone,默认拥有所有权限。而阿里云NAS SMB文件系统支持基于AD域的用户身份认证和文件系统级别的权限访问控制。您可以通过以下步骤控制不同用户访问SMB文件系统的权限。

  1. 搭建AD域,详情请参见ECS实例搭建Windows系统AD域
  2. 建立SMB文件系统挂载点与AD域的连接,详情请参见将阿里云SMB协议文件系统挂载点接入AD域
  3. 添加VPN SSL网段到安全组。详情请参见添加安全组规则
    请您在ECS实例的安全组中添加如下端口权限,确保macOS客户端的DNS请求和SMB请求在AD域中可执行。
    • DNS端口:UDP 53
    • Kerberos端口:TCP 88
    • LDAP端口:TCP 389
    • LDAP Global Catalog端口:TCP 3268
    12
  4. 设置macOS客户端的DNS为AD域服务器。
    1. 通过ipconfig命令在AD域服务器上查询内网IP。
    2. 在macOS客户端桌面顶部的Finder栏,单击Go > Network
    3. Network对话框,将macOS客户端的DNS设置为AD域服务器内网IP。
  5. 验证macOS客户端与AD域的连接。
    使用ping命令连接AD域,如下图示例即为连接成功。ping
  6. 配置macOS客户端通过Kerberos协议挂载SMB文件系统。
    1. 执行kinit,验证AD域身份安全性。示例如下:
      kinit user@MYDOMAIN.COM
    2. 执行klist命令,查看AD域身份。示例如下:
      klist
    3. 执行kinit命令,启动AD域身份。示例如下:
      kinit
    4. 执行mount_smbfs命令,挂载SMB文件系统。示例如下:
      mount_smbfs //administrator@nas-mount-point.nas.aliyuncs.com/myshare /Volumes/myshare
      说明 若出现如mount_smbfs: server rejected the connection: Authentication error的报错信息,请执行kinit命令,验证AD域身份后再次执行挂载。
      挂载成功会返回如下信息:succeed挂载成功后执行klist命令,会显示两个服务主体,如下图所示:succeed2
      说明 macOS客户端不会显示SMB ACL,但实际AD域身份已生效。您在对任何文件进行操作时,SMB文件系统都会先验证ACL,然后允许或禁止该操作。如需设置ACL,请您在AD域服务器挂载该SMB文件系统时进行配置。