全部產品
Search
文件中心

File Storage NAS:Linux用戶端以AD域使用者身份掛載並使用SMB檔案系統

更新時間:Jun 03, 2026

本文介紹在Linux作業系統中,如何以AD域身份掛載SMB檔案系統。以及掛載成功後,如何以AD域身份訪問SMB協議檔案系統,查看和編輯檔案或目錄的ACL。

前提條件

背景資訊

在SMB檔案系統掛載點接入AD域前,僅支援以匿名使用者身份掛載並使用SMB檔案系統。在SMB檔案系統掛載點接入AD域後,您可以設定是否繼續允許匿名使用者身份掛載訪問。

  • 如果繼續允許匿名訪問檔案系統,裝置可以通過Kerberos認證以域身份訪問檔案系統,也可以通過NTLM認證以Everyone身份訪問檔案系統。

  • 如果已設定為不允許匿名訪問檔案系統,該檔案系統將只允許通過Kerberos認證協議的Linux用戶端以AD域使用者身份進行掛載。

以下步驟以Ubuntu和CentOS為例介紹如何以AD域身份掛載訪問SMB檔案系統。

方式一:Linux用戶端加入AD域並掛載SMB檔案系統

  1. 登入Linux用戶端。

  2. Linux用戶端加入AD域。

    • Ubuntu作業系統

      1. 安裝AD伺服器配置包。

        sudo apt-get update
        sudo apt-get -y install realmd libnss-sss libpam-sss sssd sssd-tools adcli samba-common-bin oddjob oddjob-mkhomedir packagekit krb5-user
      2. 配置Linux用戶端在AD域的機器名。

        sudo hostnamectl set-hostname myubuntu.example-company.com

        其中,example-company.com為AD網域名稱稱,請您根據實際業務情境配置。

        配置完成後,執行hostnamectl命令檢查已配置的用戶端機器名稱。

        user1@myubuntu:/home$ sudo hostnamectl set-hostname myubuntu.example-company.com
        user1@myubuntu:/home$ hostnamectl
           Static hostname: myubuntu.example-company.com
                 Icon name: computer-vm
                   Chassis: vm
                Machine ID: 20210623112404781463487467590001
                   Boot ID: 0702ff766c504355a16f9b27e467a6f6
            Virtualization: kvm
          Operating System: Ubuntu 20.04.2 LTS
                    Kernel: Linux 5.4.0-77-generic
              Architecture: x86-64
        user1@myubuntu:/home$
      3. 配置DNS。

        1. 執行以下命令停止DNS的自動更新。

          sudo systemctl disable systemd-resolved
          sudo systemctl stop systemd-resolved

        2. 將AD伺服器IP寫入/etc/resolv.conf中。

          # Generated by NetworkManager
          search example-company.com
          nameserver 172.19.0.61
        3. 執行ping命令,pingAD伺服器名稱驗證連通性。

          user1@myubuntu:/home$ ping example-company.com
          PING example-company.com (172.19.0.61) 56(84) bytes of data.
          64 bytes from 172.19.0.61 (172.19.0.61): icmp_seq=1 ttl=128 time=0.274 ms
          64 bytes from 172.19.0.61 (172.19.0.61): icmp_seq=2 ttl=128 time=0.289 ms
          64 bytes from 172.19.0.61 (172.19.0.61): icmp_seq=3 ttl=128 time=0.270 ms
          64 bytes from 172.19.0.61 (172.19.0.61): icmp_seq=4 ttl=128 time=0.273 ms
          ^C
          --- example-company.com ping statistics ---
          4 packets transmitted, 4 received, 0% packet loss, time 3073ms
          rtt min/avg/max/mdev = 0.270/0.276/0.289/0.007 ms
      4. 尋找AD域。

        realm discover <AD domain>
        user1@myubuntu:/home$ realm discover example-company.com
        example-company.com
          type: kerberos
          realm-name: EXAMPLE-COMPANY.COM
          domain-name: example-company.com
          configured: kerberos-member
          server-software: active-directory
          client-software: sssd
          required-package: sssd-tools
          required-package: sssd
          required-package: libnss-sss
          required-package: libpam-sss
          required-package: adcli
          required-package: samba-common-bin
          login-formats: %U@example-company.com
          login-policy: allow-realm-logins
      5. Linux用戶端加入AD域。

        sudo kinit Administrator@EXAMPLE-COMPANY.COM
        sudo realm join -U Administrator example-company.com

        執行realm list命令,如果回顯包含如下類似資訊,說明Linux用戶端已加入AD域。

        user1@myubuntu:/home$ realm list
        example-company.com
          type: kerberos
          realm-name: EXAMPLE-COMPANY.COM
          domain-name: example-company.com
          configured: kerberos-member
          server-software: active-directory
          client-software: sssd
          required-package: sssd-tools
          required-package: sssd
          required-package: libnss-sss
          required-package: libpam-sss
          required-package: adcli
          required-package: samba-common-bin
          login-formats: %U@example-company.com
          login-policy: allow-realm-logins
      6. 配置以AD域使用者登入時的home目錄。

        1. 配置home目錄。

          sudo bash -c "cat > /usr/share/pam-configs/mkhomedir" <<EOF
          Name: activate mkhomedir
          Default: yes
          Priority: 900
          Session-Type: Additional
          Session:
                  required                        pam_mkhomedir.so umask=0022 skel=/etc/skel
          EOF

        2. 執行以下命令啟用該配置。

          pam-auth-update

        3. 啟用後,通過上下鍵移動游標,並使用空格鍵增加選項標記*,請確保activate mkhomedir選項前標記為*,然後使用Tab鍵將游標移動至Ok,即完成設定。

          Pluggable Authentication Modules (PAM) determine how authentication, authorization, and password changing are handled on the
          system, as well as allowing configuration of additional actions to take when starting user sessions.
          Some PAM module packages provide profiles that can be used to automatically adjust the behavior of all PAM-using applications
          on the system.  Please indicate which of these behaviors you wish to enable.
          PAM profiles to enable:
              [*] Pwquality password strength checking
              [*] activate mkhomedir
              [*] Unix authentication
              [*] SSS authentication
              [*] Register user sessions in the systemd control group hierarchy
              [*] Inheritable Capabilities Management
                              <Ok>                        <Cancel>
      7. 配置Linux sssd服務。

        1. 在設定檔/etc/sssd/sssd.conf中,寫入krb5_ccname_template=FILE:%d/krb5cc_%U

          [sssd]
          domains = example-company.com
          config_file_version = 2
          services = nss, pam
          [domain/example-company.com]
          default_shell = /bin/bash
          krb5_store_password_if_offline = True
          cache_credentials = True
          krb5_realm = EXAMPLE-COMPANY.COM
          realmd_tags = manages-system joined-with-adcli
          id_provider = ad
          fallback_homedir = /home/%u@%d
          ad_domain = example-company.com
          use_fully_qualified_names = True
          ldap_id_mapping = True
          access_provider = ad
          krb5_ccname_template=FILE:%d/krb5cc_%U
        2. 執行以下命令重啟sssd服務並確認服務狀態。

          sudo systemctl restart sssd
          sudo systemctl status sssd

          如果回顯包含如下類似資訊,說明Linux sssd服務已配置成功。

          root@iZrj90myfgaf70i4jqsmr9Z:~# systemctl status sssd
          ● sssd.service - System Security Services Daemon
             Loaded: loaded (/lib/systemd/system/sssd.service; enabled; vendor preset: enabled)
             Active: active (running) since Fri 2021-03-12 14:00:21 CST; 3s ago
           Main PID: 21279 (sssd)
              Tasks: 4 (limit: 9315)
             Memory: 42.2M
             CGroup: /system.slice/sssd.service
                     ├─21279 /usr/sbin/sssd -i --logger=files
                     ├─21300 /usr/libexec/sssd/sssd_be --domain example.com --uid 0 --gid 0 --logger=files
                     ├─21301 /usr/libexec/sssd/sssd_nss --uid 0 --gid 0 --logger=files
                     └─21302 /usr/libexec/sssd/sssd_pam --uid 0 --gid 0 --logger=files
    • CentOS作業系統

      1. 安裝AD伺服器配置包。

        sudo yum update
        sudo yum install sssd realmd oddjob oddjob-mkhomedir adcli samba-common samba-common-tools krb5-workstation openldap-clients policycoreutils-python-utils -y
      2. 配置Linux用戶端在AD域的機器名。

        sudo hostnamectl set-hostname mycentos.example-company.com

        其中,example-company.com為AD網域名稱稱,請您根據實際業務情境配置。

        配置完成後,執行hostnamectl命令檢查已配置的用戶端機器名稱。

        [user1@mycentos root]$ sudo hostnamectl set-hostname mycentos.example-company.com
        [user1@mycentos root]$ hostnamectl
           Static hostname: mycentos.example-company.com
                 Icon name: computer-vm
                   Chassis: vm
                Machine ID: 20210623110808105647395700239158
                   Boot ID: e8fded82c87f4fe783e3c75263c854d9
            Virtualization: kvm
          Operating System: CentOS Linux 8
               CPE OS Name: cpe:/o:centos:centos:8
                    Kernel: Linux 4.18.0-305.12.1.el8_4.x86_64
              Architecture: x86-64
      3. 配置DNS。

        將AD伺服器IP寫入/etc/resolv.conf中,刪除預設的DNS伺服器。執行ping命令,pingAD伺服器名稱驗證連通性。

        [user1@mycentos root]$ ping example-company.com
        PING example-company.com (172.19.0.61) 56(84) bytes of data.
        64 bytes from 172.19.0.61 (172.19.0.61): icmp_seq=1 ttl=128 time=0.221 ms
        64 bytes from 172.19.0.61 (172.19.0.61): icmp_seq=2 ttl=128 time=0.334 ms
        64 bytes from 172.19.0.61 (172.19.0.61): icmp_seq=3 ttl=128 time=0.314 ms
        64 bytes from 172.19.0.61 (172.19.0.61): icmp_seq=4 ttl=128 time=0.323 ms
        ^C
        --- example-company.com ping statistics ---
        4 packets transmitted, 4 received, 0% packet loss, time 3044ms
        rtt min/avg/max/mdev = 0.221/0.298/0.334/0.045 ms
      4. 配置Kerberos。

        請在設定檔/etc/krb5.conf中添加如下內容。

            default_tgs_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
            default_tkt_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
            permitted_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
        # To opt out of the system crypto-policies configuration of krb5, remove the
        # symlink at /etc/krb5.conf.d/crypto-policies which will not be recreated.
        includedir /etc/krb5.conf.d/
        [logging]
            default = FILE:/var/log/krb5libs.log
            kdc = FILE:/var/log/krb5kdc.log
            admin_server = FILE:/var/log/kadmind.log
        [libdefaults]
            dns_lookup_realm = false
            ticket_lifetime = 24h
            renew_lifetime = 7d
            forwardable = true
            rdns = false
            pkinit_anchors = FILE:/etc/pki/tls/certs/ca-bundle.crt
            spake_preauth_groups = edwards25519
        #    default_realm = EXAMPLE.COM
            default_ccache_name = KEYRING:persistent:%{uid}
            default_tgs_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
            default_tkt_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
            permitted_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
        [realms]
        # EXAMPLE.COM = {
        #     kdc = kerberos.example.com
        #     admin_server = kerberos.example.com
        # }
        [domain_realm]
        # .example.com = EXAMPLE.COM
        # example.com = EXAMPLE.COM
      5. 尋找AD域。

        realm discover example-company.com
        [user1@mycentos root]$ realm discover example-company.com
        example-company.com
          type: kerberos
          realm-name: EXAMPLE-COMPANY.COM
          domain-name: example-company.com
          configured: no
          server-software: active-directory
          client-software: sssd
          required-package: oddjob
          required-package: oddjob-mkhomedir
          required-package: sssd
          required-package: adcli
          required-package: samba-common-tools
      6. Linux用戶端加入AD域。

        sudo realm join -U Administrator example-company.com

        執行realm list命令,如果回顯包含如下類似資訊,說明Linux用戶端已加入AD域。

        [user1@mycentos root]$ realm list
        example-company.com
          type: kerberos
          realm-name: EXAMPLE-COMPANY.COM
          domain-name: example-company.com
          configured: kerberos-member
          server-software: active-directory
          client-software: sssd
          required-package: oddjob
          required-package: oddjob-mkhomedir
          required-package: sssd
          required-package: adcli
          required-package: samba-common-tools
          login-formats: %U@example-company.com
          login-policy: allow-realm-logins
  3. 執行id命令,查詢AD域使用者身份狀態。

    id testuser@example-company.com

    如果回顯包含如下類似資訊,說明AD域使用者身份能被正常識別。

    [user1@mycentos root]$ id usera1@example-company.com
    uid=371801107(usera1@example-company.com) gid=371800513(domain users@example-company.com) groups=371800513(domain users@example-company.com)
  4. 添加AD域使用者登入許可權。

    • 授予指定使用者登入Linux用戶端的許可權。

      sudo realm permit usera1@example-company.com
      sudo realm permit userb1@example-company.com userb2@example-company.com 
    • 授予指定使用者組登入Linux用戶端的許可權。

      sudo realm permit -g 'Security Users'
      sudo realm permit -g 'Domain Users' 'Domain Admins'
    • 授予所有使用者登入Linux用戶端的許可權。

      sudo realm permit --all
    • 授予禁止所有使用者登入Linux用戶端的許可權。

      sudo realm deny --all
  5. 為AD域使用者添加sudo許可權。

    執行以下命令開啟sudo設定檔,並根據業務情境配置sudo許可權。

    sudo vim /etc/sudoers.d/domain_admins
    • 為指定使用者添加sudo許可權。

      usera1@example-company.com     ALL=(ALL)   ALL
      userb2@example-company.com     ALL=(ALL)   ALL
    • 為指定使用者組添加sudo許可權。

      %admingroupc1@example-company.com     ALL=(ALL)   ALL
    • 為指定多word組成組名的使用者組添加sudo許可權。

      %domain\ admins@example-company.com       ALL=(ALL)       ALL
  6. 配置SSH登入項。

    1. 開啟/etc/ssh/sshd_config設定檔,修改如下登入配置項:

      PasswordAuthentication yes
    2. 執行以下命令重啟SSHD服務。

      • CentOS

        service sshd restart
      • Ubuntu

        service ssh restart
  7. 以AD域身份登入Linux用戶端。

    ssh localhost -l usera1@example-company.com

    如果回顯包含如下類似資訊,說明已使用AD域身份登入Linux用戶端。

    [user1@mycentos root]$ ssh localhost -l usera1@example-company.com
    The authenticity of host 'localhost (127.0.0.1)' can't be established.
    ECDSA key fingerprint is SHA256:t/sEr63muG4UvBiAODXW9cHuMDBUlWUXO3cQ4xxmN78.
    Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
    Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
    usera1@example-company.com@localhost's password:
    Welcome to Alibaba Cloud Elastic Compute Service !
    Activate the web console with: systemctl enable --now cockpit.socket
  8. 掛載SMB檔案系統。

    1. 安裝掛載工具包。

      • Ubuntu

        sudo apt-get install keyutils cifs-utils
      • CentOS

        sudo yum install keyutils cifs-utils
    2. 查詢keytab資訊。

      執行id命令查看登入後的uid、gid資訊。

      [usera1@example-company.com@mycentos ~]$ klist
      Ticket cache: KCM:371801107:64031
      Default principal: usera1@EXAMPLE-COMPANY.COM
      Valid starting       Expires              Service principal
      08/31/2021 07:56:42  08/31/2021 17:56:42  krbtgt/EXAMPLE-COMPANY.COM@EXAMPLE-COMPANY.COM
              renew until 09/07/2021 07:56:42
      [usera1@example-company.com@mycentos ~]$ id
      uid=371801107(usera1@example-company.com) gid=371800513(domain users@example-company.com) groups=371800513(domain users@example-company.com),371801110(groupa@example-company.com)
    3. 執行以下命令掛載檔案系統。

      sudo mount -t cifs //205dee4****-uub48.us-west-1.nas.aliyuncs.com/myshare /mnt -o vers=2.1,sec=krb5,cruid=371801107,uid=371801107,gid=371800513  --verbose

      其中,205dee4****-uub48.us-west-1.nas.aliyuncs.com為檔案系統掛載點地址,請根據實際值替換。

      說明

      如果控制台SMB ACL選項中選擇了啟用傳輸加密,則需要使用vers=3.0掛載。

  9. 添加自動掛載配置。

    掛載完成後,添加自動掛載配置。重啟Linux用戶端,將自動完成掛載。

    1. 在設定檔/etc/auto.master中,添加如下選項:

      /share    /etc/auto.cifs    --timeout=30 --ghost
    2. 按如下樣本修改設定檔/etc/auto.cifs內容:

      * -fstype=cifs,vers=2.1,sec=krb5,cruid=${UID},uid=${UID},gid=${GID},file_mode=0700,dir_mode=0700 ://205dee4****-uub48.us-west-1.nas.aliyuncs.com/myshare/&

      重要參數欄位說明如下,請根據實際值替換。

      • cruiduid:為本地usera1使用者的ID。

      • gid:為本地usera1使用者的group。

      • 205dee4****-uub48.us-west-1.nas.aliyuncs.com:為檔案系統掛載點地址。

        您可以在檔案儲存體控制台檔案系統列表頁面,單擊目標檔案系統前的image..png表徵圖,在掛載點列表的掛載點地址列,將滑鼠置於掛載點地址.png表徵圖,擷取掛載點地址。

    3. 重啟autofs服務。

      systemctl restart autofs.service
    4. 確認自動掛載配置結果。

      假設建立了//205dee4****-uub48.us-west-1.nas.aliyuncs.com/myshare/usera1目錄,使用權限設定為使用者usera1擁有所有許可權。

      在AD域使用者登入後,執行ls /share/usera1命令,就能夠查看到SMB檔案系統目錄usera1下的內容即配置成功。

方式二:Linux用戶端串連AD伺服器並掛載SMB檔案系統

  1. 登入Linux用戶端。

  2. 串連AD伺服器。

    • Ubuntu作業系統

      1. 安裝AD伺服器配置包。

        sudo apt-get -y install keyutils cifs-utils krb5-user
      2. 配置DNS。

        1. 執行以下命令停止DNS的自動更新。

          sudo systemctl disable systemd-resolved
          sudo systemctl stop systemd-resolved

        2. 將AD伺服器IP寫入/etc/resolv.conf中。

          # Generated by NetworkManager
          search example-company.com
          nameserver 172.19.0.61
        3. 執行ping命令,pingAD伺服器名稱驗證連通性。

          user1@myubuntu:/home$ ping example-company.com
          PING example-company.com (172.19.0.61) 56(84) bytes of data.
          64 bytes from 172.19.0.61 (172.19.0.61): icmp_seq=1 ttl=128 time=0.274 ms
          64 bytes from 172.19.0.61 (172.19.0.61): icmp_seq=2 ttl=128 time=0.289 ms
          64 bytes from 172.19.0.61 (172.19.0.61): icmp_seq=3 ttl=128 time=0.270 ms
          64 bytes from 172.19.0.61 (172.19.0.61): icmp_seq=4 ttl=128 time=0.273 ms
          ^C
          --- example-company.com ping statistics ---
          4 packets transmitted, 4 received, 0% packet loss, time 3073ms
          rtt min/avg/max/mdev = 0.270/0.276/0.289/0.007 ms
    • CentOS作業系統

      1. 安裝AD伺服器配置包。

        sudo yum install keyutils cifs-utils krb5-workstation
      2. 配置DNS。

        將AD伺服器IP寫入/etc/resolv.conf中,刪除預設的DNS伺服器。執行ping命令,pingAD伺服器名稱驗證連通性。

        [user1@mycentos root]$ ping example-company.com
        PING example-company.com (172.19.0.61) 56(84) bytes of data.
        64 bytes from 172.19.0.61 (172.19.0.61): icmp_seq=1 ttl=128 time=0.221 ms
        64 bytes from 172.19.0.61 (172.19.0.61): icmp_seq=2 ttl=128 time=0.334 ms
        64 bytes from 172.19.0.61 (172.19.0.61): icmp_seq=3 ttl=128 time=0.314 ms
        64 bytes from 172.19.0.61 (172.19.0.61): icmp_seq=4 ttl=128 time=0.323 ms
        ^C
        --- example-company.com ping statistics ---
        4 packets transmitted, 4 received, 0% packet loss, time 3044ms
        rtt min/avg/max/mdev = 0.221/0.298/0.334/0.045 ms
      3. 配置Kerberos。

        請在設定檔/etc/krb5.conf中添加如下內容。

            default_tgs_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
            default_tkt_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
            permitted_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
        # To opt out of the system crypto-policies configuration of krb5, remove the
        # symlink at /etc/krb5.conf.d/crypto-policies which will not be recreated.
        includedir /etc/krb5.conf.d/
        [logging]
            default = FILE:/var/log/krb5libs.log
            kdc = FILE:/var/log/krb5kdc.log
            admin_server = FILE:/var/log/kadmind.log
        [libdefaults]
            dns_lookup_realm = false
            ticket_lifetime = 24h
            renew_lifetime = 7d
            forwardable = true
            rdns = false
            pkinit_anchors = FILE:/etc/pki/tls/certs/ca-bundle.crt
            spake_preauth_groups = edwards25519
        #    default_realm = EXAMPLE.COM
            default_ccache_name = KEYRING:persistent:%{uid}
            default_tgs_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
            default_tkt_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
            permitted_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
        [realms]
        # EXAMPLE.COM = {
        #     kdc = kerberos.example.com
        #     admin_server = kerberos.example.com
        # }
        [domain_realm]
        # .example.com = EXAMPLE.COM
        # example.com = EXAMPLE.COM
  3. 以本機使用者身份儲存SMB檔案系統掛載點的票據資訊。

    1. 建立本機使用者並記錄建立使用者的UID和GID。

      useradd usera1
      su - usera1
      id
      [root@iZrj9gqbtl7kefeqxxx ~]# useradd usera1
      [root@iZrj9gqbtl7kefeqxxx ~]# su - usera1
      [usera1@iZrj9gqbtl7kefeqxxx ~]$ id
      uid=1004(usera1) gid=1004(usera1) groups=1004(usera1)
    2. 使用建立的本機使用者儲存SMB檔案系統掛載點的票據資訊。

      kinit administrator@EXAMPLE-COMPANY.COM
      klist
      user1@iZrj9gqbtl7xxx          :~$ kinit administrator@EXAMPLE-COMPANY.COM
      Password for administrator@EXAMPLE-COMPANY.COM:
      user1@iZrj9gqbtl7xxx          :~$ klist
      Ticket cache: FILE:/tmp/krb5cc_1000
      Default principal: administrator@EXAMPLE-COMPANY.COM
      Valid starting       Expires              Service principal
      09/08/2021 05:47:53  09/08/2021 15:47:53  krbtgt/EXAMPLE-COMPANY.COM@EXAMPLE-COMPANY.COM
              renew until 09/09/2021 05:47:49
      user1@iZrj9gqbtl7xxx          :~$
  4. 掛載SMB檔案系統。

    1. 安裝掛載工具包。

      • Ubuntu

        sudo apt-get install keyutils cifs-utils
      • CentOS

        sudo yum install keyutils cifs-utils
    2. 執行以下命令掛載檔案系統。

      sudo mount -t cifs //205dee4****-uub48.us-west-1.nas.aliyuncs.com/myshare /mnt -o vers=2.1,sec=krb5,cruid=1004,uid=1004,gid=1004  --verbose

      其中,205dee4****-uub48.us-west-1.nas.aliyuncs.com為檔案系統掛載點地址,請根據實際值替換。

      說明

      如果控制台SMB ACL選項中選擇了啟用傳輸加密,則需要使用vers=3.0掛載。

  5. 添加自動掛載配置。

    掛載完成後,添加自動掛載配置。重啟Linux用戶端,將自動完成掛載。

    1. 在設定檔/etc/auto.master中,添加如下選項:

      /share    /etc/auto.cifs    --timeout=30 --ghost
    2. 按如下樣本修改設定檔/etc/auto.cifs內容:

      * -fstype=cifs,vers=2.1,sec=krb5,cruid=${UID},uid=${UID},gid=${GID},file_mode=0700,dir_mode=0700 ://205dee4****-uub48.us-west-1.nas.aliyuncs.com/myshare/&

      重要參數欄位說明如下,請根據實際值替換。

      • cruiduid:為本地usera1使用者的ID。

      • gid:為本地usera1使用者的group。

      • 205dee4****-uub48.us-west-1.nas.aliyuncs.com:為檔案系統掛載點地址。

        您可以在檔案儲存體控制台檔案系統列表頁面,單擊目標檔案系統前的image..png表徵圖,在掛載點列表的掛載點地址列,將滑鼠置於掛載點地址.png表徵圖,擷取掛載點地址。

    3. 重啟autofs服務。

      systemctl restart autofs.service
    4. 確認自動掛載配置結果。

      假設建立了//205dee4****-uub48.us-west-1.nas.aliyuncs.com/myshare/usera1目錄,使用權限設定為使用者usera1擁有所有許可權。

      在AD域使用者登入後,執行ls /share/usera1命令,就能夠查看到SMB檔案系統目錄usera1下的內容即配置成功。

使用cifsacl工具管理SMB檔案系統ACL

您可以使用getcifsacl和setcifsacl命令管理SMB檔案系統ACL。樣本如下:

getcifsacl usera1/
usera1@example-company.com@myubuntu:/mnt$ getcifsacl usera1/
REVISION:0x1
CONTROL:0x8404
OWNER:S-1-5-21-2849381876-3817135681-4198507328-1107
GROUP:S-1-5-21-2849381876-3817135681-4198507328-513
ACL:S-1-5-21-2849381876-3817135681-4198507328-1107:ALLOWED/I/FULL
ACL:S-1-3-0:ALLOWED/OI|CI|IO|I/FULL
ACL:S-1-5-18:ALLOWED/OI|CI|I/FULL
ACL:S-1-5-32-544:ALLOWED/OI|CI|I/FULL
ACL:S-1-5-21-3076751034-3769290925-1520581464-512:ALLOWED/OI|CI|I/FULL
sudo setcifsacl -a "ACL:S-1-5-21-3076751034-3769290925-1520581464-513:ALLOWED/OI|CI|I/FULL" usera1/
usera1@example-company.com@myubuntu:/mnt$ sudo setcifsacl -a "ACL:S-1-5-21-3076751034-3769290925-1520581464-513:ALLOWED/OI|CI|I/FULL" usera1/
usera1@example-company.com@myubuntu:/mnt$ getcifsacl usera1
REVISION:0x1
CONTROL:0x8004
OWNER:S-1-5-21-2849381876-3817135681-4198507328-1107
GROUP:S-1-5-21-2849381876-3817135681-4198507328-513
ACL:S-1-5-21-2849381876-3817135681-4198507328-1107:ALLOWED/I/FULL
ACL:S-1-3-0:ALLOWED/OI|CI|IO|I/FULL
ACL:S-1-5-18:ALLOWED/OI|CI|I/FULL
ACL:S-1-5-32-544:ALLOWED/OI|CI|I/FULL
ACL:S-1-5-21-3076751034-3769290925-1520581464-512:ALLOWED/OI|CI|I/FULL
ACL:S-1-5-21-3076751034-3769290925-1520581464-513:ALLOWED/OI|CI|I/FULL
usera1@example-company.com@myubuntu:/mnt$