

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Joindre manuellement une instance Linux Amazon EC2 à votre répertoire AWS Microsoft AD Active Directory géré à l'aide de Winbind
<a name="join_linux_instance_winbind"></a>

Vous pouvez utiliser le service Winbind pour joindre manuellement vos instances Amazon EC2 Linux à un domaine Microsoft AD Active Directory AWS géré. Cela permet aux utilisateurs Active Directory locaux existants d'utiliser leurs informations d'identification Active Directory lorsqu'ils accèdent aux instances Linux jointes à votre annuaire Microsoft AD Active Directory AWS géré. Les distributions et les versions d'instance Linux suivantes sont prises en charge :
+ AMI Amazon Linux 2018.03.0
+ Amazon Linux 2 (64 bits x86)
+ AMI Amazon Linux 2023
+ Red Hat Enterprise Linux 8 (HVM) (64 bits x86)
+ Ubuntu Server 18.04 LTS et Ubuntu Server 16.04 LTS
+ CentOS 7 x86-64
+ Serveur SUSE Linux Enterprise 15 SP1

**Note**  
D'autres distributions et versions Linux peuvent fonctionner, mais n'ont pas été testées.

## Joindre une instance Linux à votre répertoire Microsoft AD Active Directory AWS géré
<a name="join_linux_winbind_prereq"></a>

**Important**  
Certaines des procédures suivantes peuvent rendre votre instance inaccessible ou non utilisable si elles ne sont pas effectuées correctement. Par conséquent, nous vous conseillons vivement de faire une sauvegarde ou de prendre un instantané de votre instance avant d'exécuter ces procédures.

**Pour joindre une instance Linux à votre annuaire**  
Suivez les étapes pour votre instance Linux spécifique à l'aide de l'un des onglets suivants :

------
#### [ Amazon Linux/CENTOS/REDHAT ]<a name="amazonlinux"></a>

1. Connectez-vous à l'instance à l'aide d'un client SSH.

1. Configurez l'instance Linux pour utiliser les adresses IP de serveur DNS des serveurs DNS fournis par Directory Service. Pour cela, vous pouvez la configurer dans le jeu d'options DHCP lié au VPC ou la définir manuellement sur l'instance. Si vous souhaitez le configurer manuellement, consultez l'article [Comment attribuer un serveur DNS statique à une instance Amazon EC2 privée](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-static-dns-ubuntu-debian/) dans le centre de AWS connaissances pour obtenir des conseils sur la configuration du serveur DNS persistant pour votre distribution et votre version Linux spécifiques.

1. Assurez-vous que votre instance Linux est à jour.

   ```
   sudo yum -y update
   ```

1. Installez les paquets Samba/Winbind obligatoires sur votre instance Linux.

   ```
   sudo yum -y install authconfig samba samba-client samba-winbind samba-winbind-clients
   ```

1. Faites une sauvegarde du fichier `smb.conf` principal afin de pouvoir y revenir en cas d'échec : 

   ```
   sudo cp /etc/samba/smb.conf /etc/samba/smb.bk
   ```

1. Ouvrez le fichier de configuration d'origine [`/etc/samba/smb.conf`] dans un éditeur de texte.

   ```
   sudo vim /etc/samba/smb.conf
   ```

   Renseignez les informations relatives à votre environnement de domaine Active Directory comme indiqué dans l'exemple ci-dessous :

   ```
   [global]
    workgroup = example
    security = ads
    realm = example.com
    idmap config * : rangesize = 1000000
    idmap config * : range = 1000000-19999999
    idmap config * : backend = autorid
    winbind enum users = no
    winbind enum groups = no
    template homedir = /home/%U@%D
    template shell = /bin/bash
    winbind use default domain = false
   ```

1. Ouvrez le fichier d'hôtes [`/etc/hosts`] dans un éditeur de texte.

   ```
   sudo vim /etc/hosts
   ```

   Ajoutez l'adresse IP privée de votre instance Linux comme suit :

   ```
   10.x.x.x  Linux_hostname.example.com Linux_hostname
   ```
**Note**  
Si vous n'avez pas indiqué votre adresse IP dans le fichier `/etc/hosts`, le message d'erreur DNS suivant peut s'afficher lorsque vous joignez l'instance au domaine :  
`No DNS domain configured for linux-instance. Unable to perform DNS Update. DNS update failed: NT_STATUS_INVALID_PARAMETER`  
Cette erreur signifie que la jonction a réussi, mais que la commande [net ads] n'a pas pu consigner l'enregistrement DNS dans le DNS.

1. Joignez l'instance Linux à Active Directory à l'aide de l'utilitaire net. 

   ```
   sudo net ads join -U join_account@example.com
   ```  
*join\$1account@example.com*  
Un compte du *example.com* domaine doté de privilèges de connexion au domaine. À l'invite, saisissez le mot de passe du compte. Pour obtenir plus d'informations sur la délégation de ces privilèges, veuillez consulter [Délégation des privilèges de connexion à un annuaire pour AWS Managed Microsoft AD](directory_join_privileges.md).  
*example.com*  
Nom DNS complet de votre annuaire.

   ```
   Enter join_account@example.com's password:
   Using short domain name -- example
   Joined 'IP-10-x-x-x' to dns domain 'example.com'
   ```

1. Modifiez le fichier de configuration PAM, utilisez la commande ci-dessous pour ajouter les entrées nécessaires à l'authentification Winbind :

   ```
   sudo authconfig --enablewinbind --enablewinbindauth  --enablemkhomedir   --update
   ```

1. Définissez le service SSH pour permettre l'authentification du mot de passe en modifiant le fichier `/etc/ssh/sshd_config`.

   1. Ouvrez le fichier `/etc/ssh/sshd_config` dans un éditeur de texte.

      ```
      sudo vi /etc/ssh/sshd_config
      ```

   1. Définissez le paramètre `PasswordAuthentication` sur `yes`.

      ```
      PasswordAuthentication yes
      ```

   1. Redémarrez le service SSH.

      ```
      sudo systemctl restart sshd.service
      ```

      Autrement :

      ```
      sudo service sshd restart
      ```

1. Une fois que l'instance a redémarré, connectez-vous y avec un client SSH et ajoutez des privilèges racine pour un groupe ou un utilisateur de domaine à la liste sudoers en effectuant les étapes suivantes :

   1. Ouvrez le fichier `sudoers` avec la commande suivante :

      ```
      sudo visudo
      ```

   1. Ajoutez les groupes ou utilisateurs requis à partir de votre domaine approuvé ou d'approbation comme suit, puis enregistrez-les.

      ```
      ## Adding Domain Users/Groups.
      %domainname\\AWS\ Delegated\ Administrators ALL=(ALL:ALL) ALL
      %domainname\\groupname ALL=(ALL:ALL) ALL
      domainname\\username ALL=(ALL:ALL) ALL
      %Trusted_DomainName\\groupname ALL=(ALL:ALL) ALL
      Trusted_DomainName\\username ALL=(ALL:ALL) ALL
      ```

      (L'exemple ci-dessus utilise « \$1<space> » pour créer le caractère d'espace Linux.)

------
#### [ SUSE ]<a name="suse"></a>

1. Connectez-vous à l'instance à l'aide d'un client SSH.

1. Configurez l'instance Linux pour utiliser les adresses IP de serveur DNS des serveurs DNS fournis par Directory Service. Pour cela, vous pouvez la configurer dans le jeu d'options DHCP lié au VPC ou la définir manuellement sur l'instance. Si vous souhaitez le configurer manuellement, consultez l'article [Comment attribuer un serveur DNS statique à une instance Amazon EC2 privée](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-static-dns-ubuntu-debian/) dans le centre de AWS connaissances pour obtenir des conseils sur la configuration du serveur DNS persistant pour votre distribution et votre version Linux spécifiques.

1. Assurez-vous que votre instance SUSE Linux 15 est à jour.

   1. Connectez le référentiel de packages.

      ```
      sudo SUSEConnect -p PackageHub/15.1/x86_64
      ```

   1. Mettre à jour SUSE.

      ```
      sudo zypper update -y
      ```

1. Installez les paquets Samba/Winbind obligatoires sur votre instance Linux.

   ```
   sudo zypper in -y samba samba-winbind
   ```

1. Faites une sauvegarde du fichier `smb.conf` principal afin de pouvoir y revenir en cas d'échec : 

   ```
   sudo cp /etc/samba/smb.conf /etc/samba/smb.bk
   ```

1. Ouvrez le fichier de configuration d'origine [`/etc/samba/smb.conf`] dans un éditeur de texte.

   ```
   sudo vim /etc/samba/smb.conf
   ```

   Renseignez les informations relatives à l'environnement de votre domaine Active Directory comme indiqué dans l'exemple ci-dessous :

   ```
   [global]
    workgroup = example
    security = ads
    realm = example.com
    idmap config * : rangesize = 1000000
    idmap config * : range = 1000000-19999999
    idmap config * : backend = autorid
    winbind enum users = no
    winbind enum groups = no
    template homedir = /home/%U@%D
    template shell = /bin/bash
    winbind use default domain = false
   ```

1. Ouvrez le fichier d'hôtes [`/etc/hosts`] dans un éditeur de texte.

   ```
   sudo vim /etc/hosts
   ```

   Ajoutez l'adresse IP privée de votre instance Linux comme suit :

   ```
   10.x.x.x  Linux_hostname.example.com Linux_hostname
   ```
**Note**  
Si vous n'avez pas indiqué votre adresse IP dans le fichier `/etc/hosts`, le message d'erreur DNS suivant peut s'afficher lorsque vous joignez l'instance au domaine :  
`No DNS domain configured for linux-instance. Unable to perform DNS Update. DNS update failed: NT_STATUS_INVALID_PARAMETER`  
Cette erreur signifie que la jonction a réussi, mais que la commande [net ads] n'a pas pu consigner l'enregistrement DNS dans le DNS.

1. Joignez l'instance Linux à l'annuaire avec la commande suivante. 

   ```
   sudo net ads join -U join_account@example.com
   ```  
*join\$1account*  
Le AMAccount nom s du *example.com* domaine doté de privilèges de jonction de domaine. À l'invite, saisissez le mot de passe du compte. Pour obtenir plus d'informations sur la délégation de ces privilèges, veuillez consulter [Délégation des privilèges de connexion à un annuaire pour AWS Managed Microsoft AD](directory_join_privileges.md).  
*example.com*  
Nom DNS complet de votre annuaire.

   ```
   Enter join_account@example.com's password:
   Using short domain name -- example
   Joined 'IP-10-x-x-x' to dns domain 'example.com'
   ```

1. Modifiez le fichier de configuration PAM, utilisez la commande ci-dessous pour ajouter les entrées nécessaires à l'authentification Winbind :

   ```
   sudo pam-config --add --winbind --mkhomedir
   ```

1. Ouvrez le fichier de configuration Name Service Switch [`/etc/nsswitch.conf`] dans un éditeur de texte.

   ```
   vim /etc/nsswitch.conf
   ```

   Ajoutez la directive Winbind comme indiqué ci-dessous.

   ```
   passwd: files winbind
   shadow: files winbind
   group:  files winbind
   ```

1. Définissez le service SSH pour permettre l'authentification du mot de passe en modifiant le fichier `/etc/ssh/sshd_config`.

   1. Ouvrez le fichier `/etc/ssh/sshd_config` dans un éditeur de texte.

      ```
      sudo vim /etc/ssh/sshd_config
      ```

   1. Définissez le paramètre `PasswordAuthentication` sur `yes`.

      ```
      PasswordAuthentication yes
      ```

   1. Redémarrez le service SSH.

      ```
      sudo systemctl restart sshd.service
      ```

      Autrement :

      ```
      sudo service sshd restart
      ```

1. Une fois que l'instance a redémarré, connectez-vous y avec un client SSH et ajoutez des privilèges racine pour un groupe ou un utilisateur de domaine à la liste sudoers en effectuant les étapes suivantes :

   1. Ouvrez le fichier `sudoers` avec la commande suivante :

      ```
      sudo visudo
      ```

   1. Ajoutez les groupes ou utilisateurs requis à partir de votre domaine approuvé ou d'approbation comme suit, puis enregistrez-les.

      ```
      ## Adding Domain Users/Groups.
      %domainname\\AWS\ Delegated\ Administrators ALL=(ALL:ALL) ALL
      %domainname\\groupname ALL=(ALL:ALL) ALL
      domainname\\username ALL=(ALL:ALL) ALL
      %Trusted_DomainName\\groupname ALL=(ALL:ALL) ALL
      Trusted_DomainName\\username ALL=(ALL:ALL) ALL
      ```

      (L'exemple ci-dessus utilise « \$1<space> » pour créer le caractère d'espace Linux.)

------
#### [ Ubuntu ]<a name="ubuntu"></a>

1. Connectez-vous à l'instance à l'aide d'un client SSH.

1. Configurez l'instance Linux pour utiliser les adresses IP de serveur DNS des serveurs DNS fournis par Directory Service. Pour cela, vous pouvez la configurer dans le jeu d'options DHCP lié au VPC ou la définir manuellement sur l'instance. Si vous souhaitez le configurer manuellement, consultez l'article [Comment attribuer un serveur DNS statique à une instance Amazon EC2 privée](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-static-dns-ubuntu-debian/) dans le centre de AWS connaissances pour obtenir des conseils sur la configuration du serveur DNS persistant pour votre distribution et votre version Linux spécifiques.

1. Assurez-vous que votre instance Linux est à jour.

   ```
   sudo apt-get -y upgrade
   ```

1. Installez les paquets Samba/Winbind obligatoires sur votre instance Linux.

   ```
   sudo apt -y install samba winbind libnss-winbind libpam-winbind
   ```

1. Faites une sauvegarde du fichier `smb.conf` principal afin de pouvoir y revenir en cas d'échec. 

   ```
   sudo cp /etc/samba/smb.conf /etc/samba/smb.bk
   ```

1. Ouvrez le fichier de configuration d'origine [`/etc/samba/smb.conf`] dans un éditeur de texte.

   ```
   sudo vim /etc/samba/smb.conf
   ```

   Renseignez les informations relatives à l'environnement de votre domaine Active Directory comme indiqué dans l'exemple ci-dessous :

   ```
   [global]
    workgroup = example
    security = ads
    realm = example.com
    idmap config * : rangesize = 1000000
    idmap config * : range = 1000000-19999999
    idmap config * : backend = autorid
    winbind enum users = no
    winbind enum groups = no
    template homedir = /home/%U@%D
    template shell = /bin/bash
    winbind use default domain = false
   ```

1. Ouvrez le fichier d'hôtes [`/etc/hosts`] dans un éditeur de texte.

   ```
   sudo vim /etc/hosts
   ```

   Ajoutez l'adresse IP privée de votre instance Linux comme suit :

   ```
   10.x.x.x  Linux_hostname.example.com Linux_hostname
   ```
**Note**  
Si vous n'avez pas indiqué votre adresse IP dans le fichier `/etc/hosts`, le message d'erreur DNS suivant peut s'afficher lorsque vous joignez l'instance au domaine :  
`No DNS domain configured for linux-instance. Unable to perform DNS Update. DNS update failed: NT_STATUS_INVALID_PARAMETER`  
Cette erreur signifie que la jonction a réussi, mais que la commande [net ads] n'a pas pu consigner l'enregistrement DNS dans le DNS.

1. Joignez l'instance Linux à Active Directory à l'aide de l'utilitaire net. 

   ```
   sudo net ads join -U join_account@example.com
   ```  
*join\$1account@example.com*  
Un compte du *example.com* domaine doté de privilèges de connexion au domaine. À l'invite, saisissez le mot de passe du compte. Pour obtenir plus d'informations sur la délégation de ces privilèges, veuillez consulter [Délégation des privilèges de connexion à un annuaire pour AWS Managed Microsoft AD](directory_join_privileges.md).  
*example.com*  
Nom DNS complet de votre annuaire.

   ```
   Enter join_account@example.com's password:
   Using short domain name -- example
   Joined 'IP-10-x-x-x' to dns domain 'example.com'
   ```

1. Modifiez le fichier de configuration PAM, utilisez la commande ci-dessous pour ajouter les entrées nécessaires à l'authentification Winbind :

   ```
   sudo pam-auth-update --add --winbind --enable mkhomedir
   ```

1. Ouvrez le fichier de configuration Name Service Switch [`/etc/nsswitch.conf`] dans un éditeur de texte.

   ```
   vim /etc/nsswitch.conf
   ```

   Ajoutez la directive Winbind comme indiqué ci-dessous.

   ```
   passwd: compat winbind
   group:  compat winbind
   shadow: compat winbind
   ```

1. Définissez le service SSH pour permettre l'authentification du mot de passe en modifiant le fichier `/etc/ssh/sshd_config`.

   1. Ouvrez le fichier `/etc/ssh/sshd_config` dans un éditeur de texte.

      ```
      sudo vim /etc/ssh/sshd_config
      ```

   1. Définissez le paramètre `PasswordAuthentication` sur `yes`.

      ```
      PasswordAuthentication yes
      ```

   1. Redémarrez le service SSH.

      ```
      sudo systemctl restart sshd.service
      ```

      Autrement :

      ```
      sudo service sshd restart
      ```

1. Une fois que l'instance a redémarré, connectez-vous y avec un client SSH et ajoutez des privilèges racine pour un groupe ou un utilisateur de domaine à la liste sudoers en effectuant les étapes suivantes :

   1. Ouvrez le fichier `sudoers` avec la commande suivante :

      ```
      sudo visudo
      ```

   1. Ajoutez les groupes ou utilisateurs requis à partir de votre domaine approuvé ou d'approbation comme suit, puis enregistrez-les.

      ```
      ## Adding Domain Users/Groups.
      %domainname\\AWS\ Delegated\ Administrators ALL=(ALL:ALL) ALL
      %domainname\\groupname ALL=(ALL:ALL) ALL
      domainname\\username ALL=(ALL:ALL) ALL
      %Trusted_DomainName\\groupname ALL=(ALL:ALL) ALL
      Trusted_DomainName\\username ALL=(ALL:ALL) ALL
      ```

      (L'exemple ci-dessus utilise « \$1<space> » pour créer le caractère d'espace Linux.)

------

## Connect à l'instance Linux
<a name="linux_winbind_connect"></a>

Lorsqu'un utilisateur se connecte à l'instance à l'aide d'un client SSH, il est invité à indiquer son nom d'utilisateur. L'utilisateur peut entrer le nom d'utilisateur au format `username@example.com` ou au format `EXAMPLE\username`. La réponse ressemblera à la suivante, selon la distribution Linux que vous utilisez :

**Amazon Linux, Red Hat Enterprise Linux et CentOS Linux**

```
login as: johndoe@example.com
johndoe@example.com's password:
Last login: Thu Jun 25 16:26:28 2015 from XX.XX.XX.XX
```

**SUSE Linux**

```
SUSE Linux Enterprise Server 15 SP1 x86_64 (64-bit)

As "root" (sudo or sudo -i) use the:
  - zypper command for package management
  - yast command for configuration management

Management and Config: https://www.suse.com/suse-in-the-cloud-basics
Documentation: https://www.suse.com/documentation/sles-15/
Forum: https://forums.suse.com/forumdisplay.php?93-SUSE-Public-Cloud

Have a lot of fun...
```

**Ubuntu Linux**

```
login as: admin@example.com
admin@example.com@10.24.34.0's password:
Welcome to Ubuntu 18.04.4 LTS (GNU/Linux 4.15.0-1057-aws x86_64)

* Documentation:  https://help.ubuntu.com
* Management:     https://landscape.canonical.com
* Support:        https://ubuntu.com/advantage

  System information as of Sat Apr 18 22:03:35 UTC 2020

  System load:  0.01              Processes:           102
  Usage of /:   18.6% of 7.69GB   Users logged in:     2
  Memory usage: 16%               IP address for eth0: 10.24.34.1
  Swap usage:   0%
```