Unisci manualmente un'istanza Amazon EC2 Linux alla tua directory gestita di AWS Microsoft AD Active Directory utilizzando Winbind - AWS Directory Service

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à.

Unisci manualmente un'istanza Amazon EC2 Linux alla tua directory gestita di AWS Microsoft AD Active Directory utilizzando Winbind

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

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
  1. Connettiti all'istanza tramite qualsiasi client SSH.

  2. Configura l'istanza Linux per utilizzare gli indirizzi IP del server DNS forniti dal AWS 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 intendi configurarla manualmente, consulta Come assegnare un server DNS statico a un'istanza Amazon EC2 privata in AWS Knowledge Center per istruzioni sull'impostazione del server DNS persistente per la tua distribuzione e versione specifica di Linux.

  3. Assicurati che l'istanza Linux sia aggiornata.

    sudo yum -y update
  4. Installa i pacchetti Samba/Winbind richiesti sull'istanza Linux.

    sudo yum -y install authconfig samba samba-client samba-winbind samba-winbind-clients
  5. 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
  6. 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 di 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
  7. 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.

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

    sudo net ads join -U join_account@example.com
    join_account@example.com

    Un account nel dominio example.com che dispone di privilegi di aggiunta al dominio. Inserisci la password dell'account quando richiesta. Per ulteriori informazioni sulla delega di questi privilegi, consulta Delegare i privilegi di aggiunta della directory per Microsoft AD gestito da AWS.

    esempio.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'
  9. 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
  10. 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
    2. Imposta PasswordAuthentication su yes.

      PasswordAuthentication yes
    3. Riavvia il servizio SSH.

      sudo systemctl restart sshd.service

      In alternativa:

      sudo service sshd restart
  11. 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
    2. 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 "\<space>" per creare il carattere di spazio di Linux).

SUSE
  1. Connettiti all'istanza tramite qualsiasi client SSH.

  2. Configura l'istanza Linux per utilizzare gli indirizzi IP del server DNS forniti dal AWS 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 intendi configurarla manualmente, consulta Come assegnare un server DNS statico a un'istanza Amazon EC2 privata in AWS Knowledge Center per istruzioni sull'impostazione del server DNS persistente per la tua distribuzione e versione specifica di Linux.

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

    1. Collega il repository dei pacchetti.

      sudo SUSEConnect -p PackageHub/15.1/x86_64
    2. Aggiorna SUSE.

      sudo zypper update -y
  4. Installa i pacchetti Samba/Winbind richiesti sull'istanza Linux.

    sudo zypper in -y samba samba-winbind
  5. 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
  6. 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
  7. 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.

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

    sudo net ads join -U join_account@example.com
    join_account

    Il SAM AccountName nel dominio example.com che dispone dei privilegi di accesso al dominio. Inserisci la password dell'account quando richiesta. Per ulteriori informazioni sulla delega di questi privilegi, consulta Delegare i privilegi di aggiunta della directory per Microsoft AD gestito da AWS.

    esempio.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'
  9. 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
  10. 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
  11. 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
    2. Imposta PasswordAuthentication su yes.

      PasswordAuthentication yes
    3. Riavvia il servizio SSH.

      sudo systemctl restart sshd.service

      In alternativa:

      sudo service sshd restart
  12. 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
    2. 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 "\<space>" per creare il carattere di spazio di Linux).

Ubuntu
  1. Connettiti all'istanza tramite qualsiasi client SSH.

  2. Configura l'istanza Linux per utilizzare gli indirizzi IP del server DNS forniti dal AWS 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 nel Knowledge Center per indicazioni sull'impostazione AWS del server DNS persistente per la tua particolare distribuzione e versione Linux.

  3. Assicurati che l'istanza Linux sia aggiornata.

    sudo yum -y update
    sudo apt-get -y upgrade
  4. Installa i pacchetti Samba/Winbind richiesti sull'istanza Linux.

    sudo apt -y install samba winbind libnss-winbind libpam-winbind
  5. 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
  6. 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
  7. 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.

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

    sudo net ads join -U join_account@example.com
    join_account@example.com

    Un account nel dominio example.com che dispone di privilegi di aggiunta al dominio. Inserisci la password dell'account quando richiesta. Per ulteriori informazioni sulla delega di questi privilegi, consulta Delegare i privilegi di aggiunta della directory per Microsoft AD gestito da AWS.

    esempio.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'
  9. 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
  10. 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
  11. 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
    2. Imposta PasswordAuthentication su yes.

      PasswordAuthentication yes
    3. Riavvia il servizio SSH.

      sudo systemctl restart sshd.service

      In alternativa:

      sudo service sshd restart
  12. 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
    2. 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 "\<space>" per creare il carattere di spazio di Linux).

Connect all'istanza Linux

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%