Tous les produits
Search
Centre de documentation

File Storage NAS:Monter un système de fichiers SMB sur Linux en tant qu'utilisateur AD

Dernière mise à jour :Aug 09, 2026

Cette rubrique explique comment monter un système de fichiers SMB sur un client Linux en tant qu'utilisateur de domaine AD. Elle décrit également comment accéder au système de fichiers et gérer les listes de contrôle d'accès (ACL) de ses fichiers et répertoires une fois le montage effectué.

Prérequis

Contexte

Avant d'ajouter la cible de montage d'un système de fichiers SMB à un domaine AD, vous ne pouvez monter et utiliser le système de fichiers qu'en tant qu'utilisateur anonyme. Une fois la cible de montage ajoutée au domaine AD, vous pouvez choisir de continuer à autoriser l'accès aux utilisateurs anonymes ou non.

  • Si vous continuez à autoriser l'accès anonyme, les clients peuvent utiliser l'authentification Kerberos pour accéder au système de fichiers avec une identité de domaine, ou l'authentification NTLM pour y accéder en tant que membre du groupe Everyone.

  • Si l'accès anonyme est interdit, seuls les clients Linux utilisant le protocole d'authentification Kerberos peuvent monter le système de fichiers en tant qu'utilisateur de domaine AD.

La procédure suivante utilise Ubuntu et CentOS comme exemples pour illustrer comment monter et accéder à un système de fichiers SMB en tant qu'utilisateur de domaine AD.

Méthode 1 : Montage sur un client joint au domaine

  1. Connectez-vous au client Linux.

  2. Joignez le client Linux au domaine AD.

    • Ubuntu

      1. Installez les packages de configuration 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. Définissez le nom d'hôte du client Linux dans le domaine AD.

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

        Dans la commande, remplacez example-company.com par votre nom de domaine AD.

        Une fois la configuration terminée, exécutez la commande hostnamectl pour vérifier le nom d'hôte du client.

        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. Configurez le DNS.

        1. Exécutez les commandes suivantes pour désactiver les mises à jour DNS automatiques.

          sudo systemctl disable systemd-resolved
          sudo systemctl stop systemd-resolved
        2. Ajoutez l'adresse IP du serveur AD au fichier /etc/resolv.conf.

          # Generated by NetworkManager
          search example-company.com
          nameserver 172.19.0.61
        3. Exécutez la commande ping pour envoyer une requête ping au nom du serveur AD et vérifier la connectivité.

          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. Détectez le domaine 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. Joignez le client Linux au domaine AD.

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

        Exécutez la commande realm list. Si la sortie est similaire à celle ci-dessous, le client Linux a rejoint le domaine 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. Configurez la création automatique du répertoire personnel pour la connexion des utilisateurs de domaine AD.

        1. Configurez le répertoire personnel.

          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. Exécutez la commande suivante pour appliquer la configuration.

          pam-auth-update
        3. Une fois la commande exécutée, utilisez les touches fléchées et la barre d'espace pour vous assurer que l'option activate mkhomedir est sélectionnée (marquée d'un astérisque (*)). Appuyez ensuite sur la touche Tab pour accéder à Ok et appuyez sur Entrée.

          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. Configurez le service sssd de Linux.

        1. Dans le fichier de configuration /etc/sssd/sssd.conf, ajoutez la ligne 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. Exécutez les commandes suivantes pour redémarrer le service sssd et vérifier son état.

          sudo systemctl restart sssd
          sudo systemctl status sssd

          Une sortie similaire à celle ci-dessous indique que le service sssd est configuré avec succès.

          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. Installez les packages de configuration 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. Définissez le nom d'hôte du client Linux dans le domaine AD.

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

        Dans la commande, remplacez example-company.com par votre nom de domaine AD.

        Une fois la configuration terminée, exécutez la commande hostnamectl pour vérifier le nom d'hôte du client.

        [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. Configurez le DNS.

        Écrivez l'adresse IP du serveur AD dans le fichier /etc/resolv.conf et supprimez le serveur DNS par défaut. Exécutez la commande ping : envoyez une requête ping au nom du serveur AD pour vérifier la connectivité.

        [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. Configurez Kerberos.

        Ajoutez les lignes suivantes au fichier de configuration /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. Détectez le domaine 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. Joignez le client Linux au domaine AD.

        sudo realm join -U Administrator example-company.com

        Exécutez la commande realm list. Si la sortie est similaire à celle ci-dessous, le client Linux a rejoint le domaine 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. Exécutez la commande id pour vérifier l'état d'un utilisateur de domaine AD.

    id testuser@example-company.com

    Une sortie similaire à celle ci-dessous indique que l'utilisateur de domaine AD est correctement identifié.

    [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. Accordez des autorisations de connexion aux utilisateurs de domaine AD.

    • Accordez l'autorisation de connexion à un utilisateur spécifique.

      sudo realm permit usera1@example-company.com
      sudo realm permit userb1@example-company.com userb2@example-company.com 
    • Accordez l'autorisation de connexion à un groupe spécifique.

      sudo realm permit -g 'Security Users'
      sudo realm permit -g 'Domain Users' 'Domain Admins'
    • Accordez l'autorisation de connexion à tous les utilisateurs.

      sudo realm permit --all
    • Refusez l'autorisation de connexion à tous les utilisateurs.

      sudo realm deny --all
  5. Ajoutez des autorisations sudo pour un utilisateur de domaine AD.

    Exécutez la commande suivante pour ouvrir le fichier de configuration sudo, puis ajoutez les autorisations sudo selon vos besoins.

    sudo vim /etc/sudoers.d/domain_admins
    • Ajoutez des autorisations sudo pour un utilisateur spécifique.

      usera1@example-company.com     ALL=(ALL)   ALL
      userb2@example-company.com     ALL=(ALL)   ALL
    • Ajoutez des autorisations sudo pour un groupe spécifique.

      %admingroupc1@example-company.com     ALL=(ALL)   ALL
    • Ajoutez des autorisations sudo pour un groupe dont le nom contient plusieurs mots.

      %domain\ admins@example-company.com       ALL=(ALL)       ALL
  6. Configurez la connexion SSH.

    1. Ouvrez le fichier de configuration /etc/ssh/sshd_config et modifiez le paramètre de connexion comme suit :

      PasswordAuthentication yes
    2. Exécutez la commande correspondant à votre système d'exploitation pour redémarrer le service SSHD.

      • CentOS

        service sshd restart
      • Ubuntu

        service ssh restart
  7. Connectez-vous au client Linux en tant qu'utilisateur de domaine AD.

    ssh localhost -l usera1@example-company.com

    Une sortie similaire à celle ci-dessous indique que vous vous êtes connecté avec succès au client Linux en tant qu'utilisateur de domaine AD.

    [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. Montez le système de fichiers SMB.

    1. Installez les outils de montage requis.

      • Ubuntu

        sudo apt-get install keyutils cifs-utils
      • CentOS

        sudo yum install keyutils cifs-utils
    2. Interrogez les informations sur l'utilisateur et les tickets.

      Exécutez les commandes id et klist pour afficher l'UID, le GID et les informations sur les tickets de l'utilisateur actuel.

      [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. Exécutez la commande suivante pour monter le système de fichiers.

      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

      Remplacez 205dee4****-uub48.us-west-1.nas.aliyuncs.com par l'adresse de la cible de montage de votre système de fichiers.

      Remarque

      Si vous avez sélectionné Enable Encryption in Transit dans la console NAS, vous devez utiliser l'option vers=3,0 pour monter le système de fichiers.

  9. Configurez le montage automatique.

    Pour monter automatiquement le système de fichiers après le redémarrage du client Linux, configurez le montage automatique.

    1. Dans le fichier de configuration /etc/auto.master, ajoutez la ligne suivante :

      /share    /etc/auto.cifs    --timeout=30 --ghost
    2. Modifiez le fichier de configuration /etc/auto.cifs comme indiqué dans l'exemple suivant :

      * -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/&

      La liste suivante décrit les paramètres clés. Remplacez les valeurs par vos informations réelles.

      • cruid et uid : l'ID de l'utilisateur local usera1.

      • gid : l'ID de groupe de l'utilisateur local usera1.

      • 205dee4****-uub48.us-west-1.nas.aliyuncs.com : l'adresse de la cible de montage.

        Dans la console NAS, accédez à la page File System List. Recherchez votre système de fichiers et cliquez sur l'icône **image..png**. Dans la liste résultante, recherchez la colonne Mount Target et survolez l'icône **挂载点地址.png** pour obtenir l'adresse de la cible de montage.

    3. Redémarrez le service autofs.

      systemctl restart autofs.service
    4. Vérifiez la configuration du montage automatique.

      Par exemple, vous créez le répertoire //205dee4****-uub48.us-west-1.nas.aliyuncs.com/myshare/usera1 et accordez à l'utilisateur usera1 des autorisations complètes.

      Après vous être connecté en tant qu'utilisateur de domaine AD, exécutez la commande ls /share/usera1. Si le contenu du répertoire usera1 du système de fichiers SMB s'affiche, le montage automatique est configuré correctement.

Méthode 2 : Montage sur un client non joint au domaine

  1. Connectez-vous au client Linux.

  2. Connectez-vous au serveur AD.

    • Ubuntu

      1. Installez les packages de configuration AD.

        sudo apt-get -y install keyutils cifs-utils krb5-user
      2. Configurez le DNS.

        1. Exécutez les commandes suivantes pour désactiver les mises à jour DNS automatiques.

          sudo systemctl disable systemd-resolved
          sudo systemctl stop systemd-resolved
        2. Ajoutez l'adresse IP du serveur AD au fichier /etc/resolv.conf.

          # Generated by NetworkManager
          search example-company.com
          nameserver 172.19.0.61
        3. Exécutez la commande ping pour envoyer une requête ping au nom du serveur AD et vérifier la connectivité.

          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. Installez les packages de configuration AD.

        sudo yum install keyutils cifs-utils krb5-workstation
      2. Configurez le DNS.

        Écrivez l'adresse IP du serveur AD dans le fichier /etc/resolv.conf et supprimez le serveur DNS par défaut. Exécutez la commande ping : envoyez une requête ping au nom du serveur AD pour vérifier la connectivité.

        [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. Configurez Kerberos.

        Ajoutez les lignes suivantes au fichier de configuration /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. Utilisez un compte d'utilisateur local pour obtenir et mettre en cache les informations du ticket Kerberos.

    1. Créez un nouvel utilisateur local et notez l'UID et le GID de l'utilisateur.

      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. En tant que nouvel utilisateur local, obtenez un ticket Kerberos pour l'utilisateur AD.

      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. Montez le système de fichiers SMB.

    1. Installez les outils de montage requis.

      • Ubuntu

        sudo apt-get install keyutils cifs-utils
      • CentOS

        sudo yum install keyutils cifs-utils
    2. Exécutez la commande suivante pour monter le système de fichiers.

      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

      Remplacez 205dee4****-uub48.us-west-1.nas.aliyuncs.com par l'adresse de la cible de montage de votre système de fichiers.

      Remarque

      Si vous avez sélectionné Enable Encryption in Transit dans la console NAS, vous devez utiliser l'option vers=3,0 pour monter le système de fichiers.

  5. Configurez le montage automatique.

    Pour monter automatiquement le système de fichiers après le redémarrage du client Linux, configurez le montage automatique.

    1. Dans le fichier de configuration /etc/auto.master, ajoutez la ligne suivante :

      /share    /etc/auto.cifs    --timeout=30 --ghost
    2. Modifiez le fichier de configuration /etc/auto.cifs comme indiqué dans l'exemple suivant :

      * -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/&

      La liste suivante décrit les paramètres clés. Remplacez les valeurs par vos informations réelles.

      • cruid et uid : l'ID de l'utilisateur local usera1.

      • gid : l'ID de groupe de l'utilisateur local usera1.

      • 205dee4****-uub48.us-west-1.nas.aliyuncs.com : l'adresse de la cible de montage.

        Dans la console NAS, accédez à la page File System List. Recherchez votre système de fichiers et cliquez sur l'icône **image..png**. Dans la liste résultante, recherchez la colonne Mount Target et survolez l'icône **挂载点地址.png** pour obtenir l'adresse de la cible de montage.

    3. Redémarrez le service autofs.

      systemctl restart autofs.service
    4. Vérifiez la configuration du montage automatique.

      Par exemple, vous créez le répertoire //205dee4****-uub48.us-west-1.nas.aliyuncs.com/myshare/usera1 et accordez à l'utilisateur usera1 des autorisations complètes.

      Après vous être connecté en tant qu'utilisateur de domaine AD, exécutez la commande ls /share/usera1. Si le contenu du répertoire usera1 du système de fichiers SMB s'affiche, le montage automatique est configuré correctement.

Gestion des ACL SMB avec cifsacl

Utilisez les commandes getcifsacl et setcifsacl pour gérer les ACL du système de fichiers SMB.

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$