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
La cible de montage du système de fichiers SMB a été ajoutée à un domaine AD. Pour plus d'informations, consultez la section Ajouter la cible de montage d'un système de fichiers SMB à un domaine AD.
Utilisez une version du système d'exploitation Linux compatible avec le système de fichiers SMB. Pour plus d'informations, consultez les sections Limites et Images de noyau recommandées.
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
Connectez-vous au client Linux.
-
Joignez le client Linux au domaine AD.
-
-
Exécutez la commande id pour vérifier l'état d'un utilisateur de domaine AD.
id testuser@example-company.comUne 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) -
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
-
-
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
-
-
Configurez la connexion SSH.
-
Ouvrez le fichier de configuration /etc/ssh/sshd_config et modifiez le paramètre de connexion comme suit :
PasswordAuthentication yes -
Exécutez la commande correspondant à votre système d'exploitation pour redémarrer le service SSHD.
-
CentOS
service sshd restart -
Ubuntu
service ssh restart
-
-
-
Connectez-vous au client Linux en tant qu'utilisateur de domaine AD.
ssh localhost -l usera1@example-company.comUne 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 -
Montez le système de fichiers SMB.
-
Installez les outils de montage requis.
-
Ubuntu
sudo apt-get install keyutils cifs-utils -
CentOS
sudo yum install keyutils cifs-utils
-
-
Interrogez les informations sur l'utilisateur et les tickets.
Exécutez les commandes id et
klistpour 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) -
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 --verboseRemplacez
205dee4****-uub48.us-west-1.nas.aliyuncs.compar l'adresse de la cible de montage de votre système de fichiers.RemarqueSi 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.
-
-
Configurez le montage automatique.
Pour monter automatiquement le système de fichiers après le redémarrage du client Linux, configurez le montage automatique.
-
Dans le fichier de configuration /etc/auto.master, ajoutez la ligne suivante :
/share /etc/auto.cifs --timeout=30 --ghost -
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.
cruidetuid: l'ID de l'utilisateur localusera1.gid: l'ID de groupe de l'utilisateur localusera1.-
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 **
**. Dans la liste résultante, recherchez la colonne Mount Target et survolez l'icône **
** pour obtenir l'adresse de la cible de montage.
-
Redémarrez le service autofs.
systemctl restart autofs.service -
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
usera1des 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épertoireusera1du système de fichiers SMB s'affiche, le montage automatique est configuré correctement.
-
Méthode 2 : Montage sur un client non joint au domaine
Connectez-vous au client Linux.
-
Connectez-vous au serveur AD.
-
-
Utilisez un compte d'utilisateur local pour obtenir et mettre en cache les informations du ticket Kerberos.
-
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) -
En tant que nouvel utilisateur local, obtenez un ticket Kerberos pour l'utilisateur AD.
kinit administrator@EXAMPLE-COMPANY.COM klistuser1@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 :~$
-
-
Montez le système de fichiers SMB.
-
Installez les outils de montage requis.
-
Ubuntu
sudo apt-get install keyutils cifs-utils -
CentOS
sudo yum install keyutils cifs-utils
-
-
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 --verboseRemplacez
205dee4****-uub48.us-west-1.nas.aliyuncs.compar l'adresse de la cible de montage de votre système de fichiers.RemarqueSi 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.
-
-
Configurez le montage automatique.
Pour monter automatiquement le système de fichiers après le redémarrage du client Linux, configurez le montage automatique.
-
Dans le fichier de configuration /etc/auto.master, ajoutez la ligne suivante :
/share /etc/auto.cifs --timeout=30 --ghost -
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.
cruidetuid: l'ID de l'utilisateur localusera1.gid: l'ID de groupe de l'utilisateur localusera1.-
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 **
**. Dans la liste résultante, recherchez la colonne Mount Target et survolez l'icône **
** pour obtenir l'adresse de la cible de montage.
-
Redémarrez le service autofs.
systemctl restart autofs.service -
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
usera1des 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épertoireusera1du 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$