

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Unire manualmente un'istanza Amazon EC2 Linux alla tua directory gestita di AWS Microsoft AD Active Directory utilizzando Winbind
<a name="join_linux_instance_winbind"></a>

Puoi utilizzare il servizio Winbind per aggiungere manualmente le tue istanze Amazon EC2 Linux a un dominio Microsoft AD Active AWS Directory gestito. Ciò consente agli utenti locali di Active Directory esistenti di utilizzare le proprie credenziali di Active Directory quando accedono alle istanze Linux unite al sistema gestito di AWS Microsoft AD Active Directory. Sono supportate le seguenti distribuzioni e versioni di istanze Linux:
+ AMI Amazon Linux 2018.03.0
+ Amazon Linux 2 (64-bit x86)
+ AMI Amazon Linux 2023
+ Red Hat Enterprise Linux 8 (HVM) (64-bit x86)
+ Ubuntu Server 18.04 LTS e Ubuntu Server 16.04 LTS
+ CentOS 7 x86-64
+ SUSE Linux Enterprise Server 15 SP1

**Nota**  
Le altre distribuzioni e versioni di Linux potrebbero non funzionare, sebbene non siano state testate.

## Unisci un'istanza Linux alla tua directory AWS gestita di Microsoft AD Active Directory
<a name="join_linux_winbind_prereq"></a>

**Importante**  
Alcune delle procedure seguenti, se non eseguite correttamente, possono rendere l'istanza non raggiungibile o inutilizzabile. Pertanto, ti consigliamo vivamente di effettuare un backup o effettuare uno snapshot dell'istanza prima di eseguire queste procedure.

**Per collegare un'istanza Linux alla tua directory**  
Segui i passaggi descritti per l'istanza Linux specifica utilizzando una delle seguenti schede:

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

1. Connettiti all'istanza tramite qualsiasi client SSH.

1. Configura l'istanza Linux per utilizzare gli indirizzi IP del server DNS forniti dal Directory Service. A tale scopo, puoi configurare l'istanza nel set di opzioni DHCP collegato al VPC o effettuare la configurazione manualmente sull'istanza. Se desideri impostarlo manualmente, consulta [Come posso assegnare un server DNS statico a un'istanza Amazon EC2 privata](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-static-dns-ubuntu-debian/) nel Knowledge Center per indicazioni su come impostare AWS il server DNS persistente per la tua particolare distribuzione e versione Linux.

1. Assicurati che l'istanza Linux sia aggiornata.

   ```
   sudo yum -y update
   ```

1. Installa i pacchetti Samba/Winbind richiesti sull'istanza Linux.

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

1. Effettua un backup del file `smb.conf` principale in modo da poterlo ripristinare in caso di errore: 

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

1. Apri il file di configurazione originale [`/etc/samba/smb.conf`] in un editor di testo.

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

   Inserisci le informazioni sull'ambiente del tuo dominio Active Directory come mostrato nell'esempio seguente:

   ```
   [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. Apri il file host [`/etc/hosts`] in un editor di testo.

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

   Aggiungi l'indirizzo IP privato dell'istanza Linux come segue:

   ```
   10.x.x.x  Linux_hostname.example.com Linux_hostname
   ```
**Nota**  
Se non hai specificato il tuo indirizzo IP nel file `/etc/hosts`, potresti ricevere il seguente errore DNS durante il collegamento dell'istanza al dominio:  
`No DNS domain configured for linux-instance. Unable to perform DNS Update. DNS update failed: NT_STATUS_INVALID_PARAMETER`  
Questo errore indica che il collegamento è avvenuto con successo ma il comando [net ads] non è riuscito a registrare il record DNS nel DNS.

1. Collega l'istanza Linux ad Active Directory utilizzando l'utility net. 

   ```
   sudo net ads join -U join_account@example.com
   ```  
*join\$1account@example.com*  
Un account nel *example.com* dominio che dispone dei privilegi di accesso al dominio. Inserisci la password dell'account quando richiesta. Per ulteriori informazioni sulla delega di questi privilegi, consulta [Delega dei privilegi di accesso alle directory per Managed AWS Microsoft AD](directory_join_privileges.md).  
*example.com*  
Il nome completo del DNS della directory.

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

1. Modifica il file di configurazione PAM, usa il comando seguente per aggiungere le voci necessarie per l'autenticazione winbind:

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

1. Imposta il servizio SSH per permettere l'autenticazione della password modificando il file `/etc/ssh/sshd_config`.

   1. Apri il file `/etc/ssh/sshd_config` in un editor di testo.

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

   1. Imposta `PasswordAuthentication` su `yes`.

      ```
      PasswordAuthentication yes
      ```

   1. Riavvia il servizio SSH.

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

      In alternativa:

      ```
      sudo service sshd restart
      ```

1. Dopo il riavvio dell'istanza, connettiti a essa tramite qualsiasi client SSH, quindi aggiungi i privilegi root per l'utente o il gruppo del dominio all'elenco dei sudoers seguendo la procedura seguente:

   1. Apri il file `sudoers` tramite il comando seguente:

      ```
      sudo visudo
      ```

   1. Aggiungi i gruppi o gli utenti richiesti dal tuo dominio Trusting o Trusted come segue, quindi salvalo.

      ```
      ## 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'esempio precedente utilizza "\$1<space>" per creare il carattere di spazio di Linux).

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

1. Connettiti all'istanza tramite qualsiasi client SSH.

1. Configura l'istanza Linux per utilizzare gli indirizzi IP del server DNS forniti dal Directory Service. A tale scopo, puoi configurare l'istanza nel set di opzioni DHCP collegato al VPC o effettuare la configurazione manualmente sull'istanza. Se desideri impostarlo manualmente, consulta [Come posso assegnare un server DNS statico a un'istanza Amazon EC2 privata](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-static-dns-ubuntu-debian/) nel Knowledge Center per indicazioni su come impostare AWS il server DNS persistente per la tua particolare distribuzione e versione Linux.

1. Assicurati che l'istanza di SUSE Linux 15 sia aggiornata.

   1. Collega il repository dei pacchetti.

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

   1. Aggiorna SUSE.

      ```
      sudo zypper update -y
      ```

1. Installa i pacchetti Samba/Winbind richiesti sull'istanza Linux.

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

1. Effettua un backup del file `smb.conf` principale in modo da poterlo ripristinare in caso di errore: 

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

1. Apri il file di configurazione originale [`/etc/samba/smb.conf`] in un editor di testo.

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

   Inserisci le informazioni sull'ambiente del dominio Active Directory come mostrato nell'esempio seguente:

   ```
   [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. Apri il file host [`/etc/hosts`] in un editor di testo.

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

   Aggiungi l'indirizzo IP privato dell'istanza Linux come segue:

   ```
   10.x.x.x  Linux_hostname.example.com Linux_hostname
   ```
**Nota**  
Se non hai specificato il tuo indirizzo IP nel file `/etc/hosts`, potresti ricevere il seguente errore DNS durante il collegamento dell'istanza al dominio:  
`No DNS domain configured for linux-instance. Unable to perform DNS Update. DNS update failed: NT_STATUS_INVALID_PARAMETER`  
Questo errore indica che il collegamento è avvenuto con successo ma il comando [net ads] non è riuscito a registrare il record DNS nel DNS.

1. Collega l'istanza Linux alla directory tramite il comando seguente. 

   ```
   sudo net ads join -U join_account@example.com
   ```  
*join\$1account*  
Il AMAccount nome s nel *example.com* dominio che dispone dei privilegi di accesso al dominio. Inserisci la password dell'account quando richiesta. Per ulteriori informazioni sulla delega di questi privilegi, consulta [Delega dei privilegi di accesso alle directory per Managed AWS Microsoft AD](directory_join_privileges.md).  
*example.com*  
Il nome completo del DNS della directory.

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

1. Modifica il file di configurazione PAM, usa il comando seguente per aggiungere le voci necessarie per l'autenticazione Winbind:

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

1. Apri il file di configurazione Name Service Switch [`/etc/nsswitch.conf`] in un editor di testo.

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

   Aggiungi la direttiva Winbind come illustrato di seguito.

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

1. Imposta il servizio SSH per permettere l'autenticazione della password modificando il file `/etc/ssh/sshd_config`.

   1. Apri il file `/etc/ssh/sshd_config` in un editor di testo.

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

   1. Imposta `PasswordAuthentication` su `yes`.

      ```
      PasswordAuthentication yes
      ```

   1. Riavvia il servizio SSH.

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

      In alternativa:

      ```
      sudo service sshd restart
      ```

1. Dopo il riavvio dell'istanza, connettiti a essa tramite qualsiasi client SSH, quindi aggiungi i privilegi root per l'utente o il gruppo del dominio all'elenco dei sudoers seguendo la procedura seguente:

   1. Apri il file `sudoers` tramite il comando seguente:

      ```
      sudo visudo
      ```

   1. Aggiungi i gruppi o gli utenti richiesti dal tuo dominio Trusting o Trusted come segue, quindi salvalo.

      ```
      ## 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'esempio precedente utilizza "\$1<space>" per creare il carattere di spazio di Linux).

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

1. Connettiti all'istanza tramite qualsiasi client SSH.

1. Configura l'istanza Linux per utilizzare gli indirizzi IP del server DNS forniti dal Directory Service. A tale scopo, puoi configurare l'istanza nel set di opzioni DHCP collegato al VPC o effettuare la configurazione manualmente sull'istanza. Se desideri impostarlo manualmente, consulta [Come posso assegnare un server DNS statico a un'istanza Amazon EC2 privata](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-static-dns-ubuntu-debian/) nel Knowledge Center per indicazioni su come impostare AWS il server DNS persistente per la tua particolare distribuzione e versione Linux.

1. Assicurati che l'istanza Linux sia aggiornata.

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

1. Installa i pacchetti Samba/Winbind richiesti sull'istanza Linux.

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

1. Effettua un backup del file `smb.conf` principale in modo da poterlo ripristinare in caso di errore. 

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

1. Apri il file di configurazione originale [`/etc/samba/smb.conf`] in un editor di testo.

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

   Inserisci le informazioni sull'ambiente del dominio Active Directory come mostrato nell'esempio seguente:

   ```
   [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. Apri il file host [`/etc/hosts`] in un editor di testo.

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

   Aggiungi l'indirizzo IP privato dell'istanza Linux come segue:

   ```
   10.x.x.x  Linux_hostname.example.com Linux_hostname
   ```
**Nota**  
Se non hai specificato il tuo indirizzo IP nel file `/etc/hosts`, potresti ricevere il seguente errore DNS durante il collegamento dell'istanza al dominio:  
`No DNS domain configured for linux-instance. Unable to perform DNS Update. DNS update failed: NT_STATUS_INVALID_PARAMETER`  
Questo errore indica che il collegamento è avvenuto con successo ma il comando [net ads] non è riuscito a registrare il record DNS nel DNS.

1. Collega l'istanza Linux ad Active Directory utilizzando l'utility net. 

   ```
   sudo net ads join -U join_account@example.com
   ```  
*join\$1account@example.com*  
Un account nel dominio con privilegi di accesso al *example.com* dominio. Inserisci la password dell'account quando richiesta. Per ulteriori informazioni sulla delega di questi privilegi, consulta [Delega dei privilegi di accesso alle directory per Managed AWS Microsoft AD](directory_join_privileges.md).  
*example.com*  
Il nome completo del DNS della directory.

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

1. Modifica il file di configurazione PAM, usa il comando seguente per aggiungere le voci necessarie per l'autenticazione Winbind:

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

1. Apri il file di configurazione Name Service Switch [`/etc/nsswitch.conf`] in un editor di testo.

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

   Aggiungi la direttiva Winbind come illustrato di seguito.

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

1. Imposta il servizio SSH per permettere l'autenticazione della password modificando il file `/etc/ssh/sshd_config`.

   1. Apri il file `/etc/ssh/sshd_config` in un editor di testo.

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

   1. Imposta `PasswordAuthentication` su `yes`.

      ```
      PasswordAuthentication yes
      ```

   1. Riavvia il servizio SSH.

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

      In alternativa:

      ```
      sudo service sshd restart
      ```

1. Dopo il riavvio dell'istanza, connettiti a essa tramite qualsiasi client SSH, quindi aggiungi i privilegi root per l'utente o il gruppo del dominio all'elenco dei sudoers seguendo la procedura seguente:

   1. Apri il file `sudoers` tramite il comando seguente:

      ```
      sudo visudo
      ```

   1. Aggiungi i gruppi o gli utenti richiesti dal tuo dominio Trusting o Trusted come segue, quindi salvalo.

      ```
      ## 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'esempio precedente utilizza "\$1<space>" per creare il carattere di spazio di Linux).

------

## Connect all'istanza Linux
<a name="linux_winbind_connect"></a>

Quando un utente effettua la connessione all'istanza tramite un client SSH, gli verrà richiesto di inserire il proprio nome utente. L'utente può immettere il nome utente nei formati `username@example.com` o `EXAMPLE\username` . La risposta apparirà simile alla seguente, a seconda della distribuzione Linux utilizzata:

**Amazon Linux, Red Hat Enterprise Linux e 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%
```