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à.
Aggiungere manualmente un'istanza Amazon EC2 Linux al tuo AWS Managed Microsoft AD Active Directory
Oltre ad Amazon EC2 Windows istanze, puoi anche aggiungere determinate istanze Amazon EC2 Linux al tuo Managed AWS Microsoft AD Active Directory. Sono supportate le seguenti distribuzioni e versioni di istanze Linux:
-
Amazon Linux AMI 2018.03.0
-
Amazon Linux 2 (64-bit x86)
-
Amazon Linux 2023 AMI
-
Red Hat Enterprise Linux 8 (x86 a 64 bitHVM)
-
Ubuntu Server 18.04 LTS e Ubuntu Server 16.04 LTS
-
CentOS 7 x86-64
-
SUSELinux Enterprise Server 15 SP1
Le altre distribuzioni e versioni di Linux potrebbero non funzionare, sebbene non siano state testate.
Unisci un'istanza Linux al tuo AWS Managed Microsoft AD
Prima di poter collegare un'istanza Amazon Linux, CentOS, Red Hat o Ubuntu alla tua directory, l'istanza deve essere avviata come specificato in Unisciti senza problemi alla tua istanza Linux.
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
-
-
Connect all'istanza utilizzando qualsiasi SSH client.
-
Configura l'istanza Linux per utilizzare gli DNS indirizzi IP dei AWS Directory Service DNS server forniti. È possibile eseguire questa operazione configurandola nel set di DHCP opzioni allegato a VPC o impostandola manualmente sull'istanza. Se desideri impostarlo manualmente, consulta Come posso assegnare un DNS server statico a un'EC2istanza Amazon privata nel AWS
Knowledge Center per indicazioni su come impostare il DNS server persistente per la tua particolare distribuzione e versione di Linux.
-
Assicurati che l'istanza di Amazon Linux a 64 bit sia aggiornata.
sudo yum -y update
-
Installa i pacchetti Amazon Linux necessari sull'istanza Linux.
Alcuni di questi pacchetti potrebbero essere già installati.
Quando installi i pacchetti, potrebbero essere visualizzate diverse schermate popup di configurazione. In generale, puoi lasciare vuoti i campi di queste schermate.
- Amazon Linux
-
sudo yum install samba-common-tools realmd oddjob oddjob-mkhomedir sssd adcli krb5-workstation
-
Collega l'istanza alla directory tramite il comando seguente.
sudo realm join -U join_account@EXAMPLE.COM
example.com
--verbose
...
* Successfully enrolled machine in realm
-
Imposta il SSH servizio per consentire l'autenticazione tramite password.
-
Apri il file /etc/ssh/sshd_config
in un editor di testo.
sudo vi /etc/ssh/sshd_config
-
Imposta PasswordAuthentication
su yes
.
PasswordAuthentication yes
-
Riavvia il servizio SSH.
sudo systemctl restart sshd.service
In alternativa:
sudo service sshd restart
-
Dopo il riavvio dell'istanza, connettiti ad essa con qualsiasi SSH client e aggiungi il gruppo AWS Delegated Administrators all'elenco sudoers eseguendo i seguenti passaggi:
-
Apri il file sudoers
tramite il comando seguente:
sudo visudo
-
Aggiungi il codice seguente alla fine del file sudoers
e salva il file.
## Add the "AWS Delegated Administrators" group from the example.com
domain.
%AWS\ Delegated\ Administrators@example.com
ALL=(ALL:ALL) ALL
(L'esempio precedente utilizza "\<space>" per creare il carattere di spazio di Linux).
- CentOS
-
-
Connect all'istanza utilizzando qualsiasi SSH client.
-
Configura l'istanza Linux per utilizzare gli DNS indirizzi IP dei AWS Directory Service DNS server forniti. È possibile eseguire questa operazione configurandola nel set di DHCP opzioni allegato a VPC o impostandola manualmente sull'istanza. Se desideri impostarlo manualmente, consulta Come posso assegnare un DNS server statico a un'EC2istanza Amazon privata nel AWS
Knowledge Center per indicazioni su come impostare il DNS server persistente per la tua particolare distribuzione e versione di Linux.
-
Assicurati che l'istanza di CentOS 7 sia aggiornata.
sudo yum -y update
-
Installa i pacchetti CentOS 7 necessari sull'istanza Linux.
Alcuni di questi pacchetti potrebbero essere già installati.
Quando installi i pacchetti, potrebbero essere visualizzate diverse schermate popup di configurazione. In generale, puoi lasciare vuoti i campi di queste schermate.
sudo yum -y install sssd realmd krb5-workstation samba-common-tools
-
Collega l'istanza alla directory tramite il comando seguente.
sudo realm join -U join_account@example.com
example.com
--verbose
...
* Successfully enrolled machine in realm
-
Imposta il SSH servizio per consentire l'autenticazione tramite password.
-
Apri il file /etc/ssh/sshd_config
in un editor di testo.
sudo vi /etc/ssh/sshd_config
-
Imposta PasswordAuthentication
su yes
.
PasswordAuthentication yes
-
Riavvia il servizio SSH.
sudo systemctl restart sshd.service
In alternativa:
sudo service sshd restart
-
Dopo il riavvio dell'istanza, connettiti ad essa con qualsiasi SSH client e aggiungi il gruppo AWS Delegated Administrators all'elenco sudoers eseguendo i seguenti passaggi:
-
Apri il file sudoers
tramite il comando seguente:
sudo visudo
-
Aggiungi il codice seguente alla fine del file sudoers
e salva il file.
## Add the "AWS Delegated Administrators" group from the example.com
domain.
%AWS\ Delegated\ Administrators@example.com
ALL=(ALL:ALL) ALL
(L'esempio precedente utilizza "\<space>" per creare il carattere di spazio di Linux).
- Red Hat
-
-
Connect all'istanza utilizzando qualsiasi SSH client.
-
Configura l'istanza Linux per utilizzare gli DNS indirizzi IP dei AWS Directory Service DNS server forniti. È possibile eseguire questa operazione configurandola nel set di DHCP opzioni allegato a VPC o impostandola manualmente sull'istanza. Se desideri impostarlo manualmente, consulta Come posso assegnare un DNS server statico a un'EC2istanza Amazon privata nel AWS
Knowledge Center per indicazioni su come impostare il DNS server persistente per la tua particolare distribuzione e versione di Linux.
-
Assicurati che l'istanza Red Hat - 64bit sia aggiornata.
sudo yum -y update
-
Installa i pacchetti Red Hat necessari nell'istanza Linux.
Alcuni di questi pacchetti potrebbero essere già installati.
Quando installi i pacchetti, potrebbero essere visualizzate diverse schermate popup di configurazione. In generale, puoi lasciare vuoti i campi di queste schermate.
sudo yum -y install sssd realmd krb5-workstation samba-common-tools
-
Collega l'istanza alla directory tramite il comando seguente.
sudo realm join -v -U join_account
example.com
--install=/
...
* Successfully enrolled machine in realm
-
Imposta il SSH servizio per consentire l'autenticazione tramite password.
-
Apri il file /etc/ssh/sshd_config
in un editor di testo.
sudo vi /etc/ssh/sshd_config
-
Imposta PasswordAuthentication
su yes
.
PasswordAuthentication yes
-
Riavvia il servizio SSH.
sudo systemctl restart sshd.service
In alternativa:
sudo service sshd restart
-
Dopo il riavvio dell'istanza, connettiti ad essa con qualsiasi SSH client e aggiungi il gruppo AWS Delegated Administrators all'elenco sudoers eseguendo i seguenti passaggi:
-
Apri il file sudoers
tramite il comando seguente:
sudo visudo
-
Aggiungi il codice seguente alla fine del file sudoers
e salva il file.
## Add the "AWS Delegated Administrators" group from the example.com
domain.
%AWS\ Delegated\ Administrators@example.com
ALL=(ALL:ALL) ALL
(L'esempio precedente utilizza "\<space>" per creare il carattere di spazio di Linux).
- SUSE
-
-
Connect all'istanza utilizzando qualsiasi SSH client.
-
Configura l'istanza Linux per utilizzare gli DNS indirizzi IP dei AWS Directory Service DNS server forniti. È possibile eseguire questa operazione configurandola nel set di DHCP opzioni allegato a VPC o impostandola manualmente sull'istanza. Se desideri impostarlo manualmente, consulta Come posso assegnare un DNS server statico a un'EC2istanza Amazon privata nel AWS Knowledge Center per indicazioni sull'impostazione del DNS server persistente per la tua particolare distribuzione e versione di Linux.
-
Assicurati che la tua istanza di SUSE Linux 15 sia aggiornata.
-
Collega il repository dei pacchetti.
sudo SUSEConnect -p PackageHub/15.1/x86_64
-
AggiornaSUSE.
sudo zypper update -y
-
Installa i pacchetti SUSE Linux 15 richiesti sulla tua istanza Linux.
Alcuni di questi pacchetti potrebbero essere già installati.
Quando installi i pacchetti, potrebbero essere visualizzate diverse schermate popup di configurazione. In generale, puoi lasciare vuoti i campi di queste schermate.
sudo zypper -n install realmd adcli sssd sssd-tools sssd-ad samba-client krb5-client
-
Collega l'istanza alla directory tramite il comando seguente.
sudo realm join -U join_account example.com --verbose
…
realm: Couldn't join realm: Enabling SSSD in nsswitch.conf and PAM failed.
Si noti che sono attesi entrambi i seguenti rendimenti.
! Couldn't authenticate with keytab while discovering which salt to use:
! Enabling SSSD in nsswitch.conf and PAM failed.
-
Abilita manualmente. SSSDPAM
sudo pam-config --add --sss
-
Modifica nsswitch.conf per abilitarlo in nsswitch.conf SSSD
sudo vi /etc/nsswitch.conf
passwd: compat sss
group: compat sss
shadow: compat sss
-
Aggiungi la seguente riga to /etc/pam.d/common -session per creare automaticamente una home directory al login iniziale
sudo vi /etc/pam.d/common-session
session optional pam_mkhomedir.so skel=/etc/skel umask=077
-
Riavviare l'istanza per completare il processo di aggiunta al dominio.
sudo reboot
-
Riconnettiti all'istanza utilizzando qualsiasi SSH client per verificare che l'aggiunta al dominio sia stata completata correttamente e completare i passaggi aggiuntivi.
-
Per confermare che l'istanza è stata registrata nel dominio
sudo realm list
example.com
type: kerberos
realm-name: EXAMPLE.COM
domain-name: example.com
configured: kerberos-member
server-software: active-directory
client-software: sssd
required-package: sssd-tools
required-package: sssd
required-package: adcli
required-package: samba-client
login-formats: %U@example.com
login-policy: allow-realm-logins
-
Per verificare lo stato del demone SSSD
systemctl status sssd
sssd.service - System Security Services Daemon
Loaded: loaded (/usr/lib/systemd/system/sssd.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2020-04-15 16:22:32 UTC; 3min 49s ago
Main PID: 479 (sssd)
Tasks: 4
CGroup: /system.slice/sssd.service
├─479 /usr/sbin/sssd -i --logger=files
├─505 /usr/lib/sssd/sssd_be --domain example.com --uid 0 --gid 0 --logger=files
├─548 /usr/lib/sssd/sssd_nss --uid 0 --gid 0 --logger=files
└─549 /usr/lib/sssd/sssd_pam --uid 0 --gid 0 --logger=files
-
Per consentire a un utente di accedere tramite SSH una console
sudo realm permit join_account@example.com
Per consentire l'accesso a un gruppo di dominio tramite SSH una console
sudo realm permit -g 'AWS Delegated Administrators'
O per consentire a tutti gli utenti di accedere
sudo realm permit --all
-
Imposta il SSH servizio per consentire l'autenticazione tramite password.
-
Apri il file /etc/ssh/sshd_config
in un editor di testo.
sudo vi /etc/ssh/sshd_config
-
Imposta PasswordAuthentication
su yes
.
PasswordAuthentication yes
-
Riavvia il servizio SSH.
sudo systemctl restart sshd.service
In alternativa:
sudo service sshd restart
-
13. Dopo il riavvio dell'istanza, connettiti ad essa con qualsiasi SSH client e aggiungi il gruppo AWS Delegated Administrators all'elenco sudoers eseguendo i seguenti passaggi:
-
Aprire il file sudoers con il seguente comando:
sudo visudo
-
Aggiungi il codice seguente alla fine del file sudoers e salva il file.
## Add the "Domain Admins" group from the awsad.com domain.
%AWS\ Delegated\ Administrators@example.com ALL=(ALL) NOPASSWD: ALL
- Ubuntu
-
-
Connect all'istanza utilizzando qualsiasi SSH client.
-
Configura l'istanza Linux per utilizzare gli DNS indirizzi IP dei AWS Directory Service DNS server forniti. È possibile eseguire questa operazione configurandola nel set di DHCP opzioni allegato a VPC o impostandola manualmente sull'istanza. Se desideri impostarlo manualmente, consulta Come posso assegnare un DNS server statico a un'EC2istanza Amazon privata nel AWS
Knowledge Center per indicazioni su come impostare il DNS server persistente per la tua particolare distribuzione e versione di Linux.
-
Assicurati che l'istanza Ubuntu - 64bit sia aggiornata.
sudo apt-get update
sudo apt-get -y upgrade
-
Installa i pacchetti Ubuntu necessari nell'istanza Linux.
Alcuni di questi pacchetti potrebbero essere già installati.
Quando installi i pacchetti, potrebbero essere visualizzate diverse schermate popup di configurazione. In generale, puoi lasciare vuoti i campi di queste schermate.
sudo apt-get -y install sssd realmd krb5-user samba-common packagekit adcli
-
Disattiva la DNS risoluzione inversa e imposta l'area di autenticazione predefinita su quella del tuo dominio. FQDN Le istanze di Ubuntu devono essere risolvibili al contrario prima che il realm funzioni. DNS Altrimenti, devi disabilitare reverse 5.conf come segue: DNS in /etc/krb
sudo vi /etc/krb5.conf
[libdefaults]
default_realm = EXAMPLE.COM
rdns = false
-
Collega l'istanza alla directory tramite il comando seguente.
sudo realm join -U join_account example.com
--verbose
...
* Successfully enrolled machine in realm
-
Imposta il SSH servizio per consentire l'autenticazione tramite password.
-
Apri il file /etc/ssh/sshd_config
in un editor di testo.
sudo vi /etc/ssh/sshd_config
-
Imposta PasswordAuthentication
su yes
.
PasswordAuthentication yes
-
Riavvia il servizio SSH.
sudo systemctl restart sshd.service
In alternativa:
sudo service sshd restart
-
Dopo il riavvio dell'istanza, connettiti ad essa con qualsiasi SSH client e aggiungi il gruppo AWS Delegated Administrators all'elenco sudoers eseguendo i seguenti passaggi:
-
Apri il file sudoers
tramite il comando seguente:
sudo visudo
-
Aggiungi il codice seguente alla fine del file sudoers
e salva il file.
## Add the "AWS Delegated Administrators" group from the example.com
domain.
%AWS\ Delegated\ Administrators@example.com
ALL=(ALL:ALL) ALL
(L'esempio precedente utilizza "\<space>" per creare il carattere di spazio di Linux).
Limitazioni di accesso all'account
Poiché tutti gli account vengono definiti in Active Directory, per impostazione predefinita tutti gli utenti nella directory possono accedere all'istanza. Puoi permettere solo a utenti specifici di accedere all'istanza con ad_access_filter in sssd.conf. Per esempio:
ad_access_filter = (memberOf=cn=admins,ou=Testou,dc=example,dc=com)
memberOf
-
Indica che agli utenti è consentito solo l'accesso all'istanza se membri di un determinato gruppo.
cn
-
Il nome canonico del gruppo a cui è consentito l'accesso. In questo esempio, il nome del gruppo è admins
.
ou
-
È l'unità organizzativa in cui si trova il gruppo di cui sopra. In questo esempio, l'unità organizzativa è Testou
.
dc
-
È il componente di dominio del tuo dominio. In questo esempio: example
.
dc
-
È un componente di dominio aggiuntivo. In questo esempio: com
.
È necessario aggiungere manualmente ad_access_filter a /etc/sssd/sssd.conf.
Apri il file /etc/sssd/sssd.conf in un editor di testo.
sudo vi /etc/sssd/sssd.conf
A questo punto, il tuo sssd.conf potrebbe avere questo aspetto:
[sssd]
domains = example.com
config_file_version = 2
services = nss, pam
[domain/example.com]
ad_domain = example.com
krb5_realm = EXAMPLE.COM
realmd_tags = manages-system joined-with-samba
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = True
fallback_homedir = /home/%u@%d
access_provider = ad
ad_access_filter = (memberOf=cn=admins,ou=Testou,dc=example,dc=com)
Perché la configurazione diventi effettiva, devi riavviare il servizio sssd:
sudo systemctl restart sssd.service
In alternativa, puoi usare:
sudo service sssd restart
Poiché tutti gli account vengono definiti in Active Directory, per impostazione predefinita tutti gli utenti nella directory possono accedere all'istanza. Puoi permettere solo a utenti specifici di accedere all'istanza con ad_access_filter in sssd.conf.
Per esempio:
ad_access_filter = (memberOf=cn=admins,ou=Testou,dc=example,dc=com)
memberOf
-
Indica che agli utenti è consentito solo l'accesso all'istanza se membri di un determinato gruppo.
cn
-
Il nome canonico del gruppo a cui è consentito l'accesso. In questo esempio, il nome del gruppo è admins
.
ou
-
È l'unità organizzativa in cui si trova il gruppo di cui sopra. In questo esempio, l'unità organizzativa è Testou
.
dc
-
È il componente di dominio del tuo dominio. In questo esempio: example
.
dc
-
È un componente di dominio aggiuntivo. In questo esempio: com
.
È necessario aggiungere manualmente ad_access_filter a /etc/sssd/sssd.conf.
-
Apri il file /etc/sssd/sssd.conf in un editor di testo.
sudo vi /etc/sssd/sssd.conf
-
A questo punto, il tuo sssd.conf potrebbe avere questo aspetto:
[sssd]
domains = example.com
config_file_version = 2
services = nss, pam
[domain/example.com]
ad_domain = example.com
krb5_realm = EXAMPLE.COM
realmd_tags = manages-system joined-with-samba
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = True
fallback_homedir = /home/%u@%d
access_provider = ad
ad_access_filter = (memberOf=cn=admins,ou=Testou,dc=example,dc=com)
-
Perché la configurazione diventi effettiva, devi riavviare il servizio sssd:
sudo systemctl restart sssd.service
In alternativa, puoi usare:
sudo service sssd restart
Mappatura degli ID
La mappatura degli ID può essere eseguita con due metodi per mantenere un'esperienza unificata tra UNIX /Linux User Identifier (UID) e Group Identifier () e Windows e GID Active Directory Identità Security Identifier (). SID
Mappatura centralizzata delle identità degli utenti in Active Directory richiede un'interfaccia del sistema operativo portatile o. POSIX
Mappatura centralizzata dell'identità degli utenti
Active Directory o un altro servizio Lightweight Directory Access Protocol (LDAP) che fornisce UID e GID agli utenti Linux. In Active Directory, questi identificatori sono memorizzati negli attributi degli utenti:
UID- Il nome utente Linux (String)
UIDNumero: il numero ID utente Linux (numero intero)
GIDNumero: il numero ID del gruppo Linux (numero intero)
Per configurare un'istanza Linux per utilizzare UID e GID da Active Directory, impostato ldap_id_mapping = False
nel file sssd.conf. Prima di impostare questo valore, verifica di aver aggiunto un UID numeroUID, e un numero agli utenti e GID ai gruppi in Active Directory.
Mappatura distribuita delle identità degli utenti
Se Active Directory non ha l'POSIXestensione o se scegli di non gestire centralmente la mappatura delle identità, Linux può calcolare i valori UID ANDGID. Linux utilizza il Security Identifier (SID) univoco dell'utente per mantenere la coerenza.
Per configurare la mappatura distribuita degli ID utente, impostatela ldap_id_mapping = True
nel file sssd.conf.
Connect all'istanza Linux
Quando un utente si connette all'istanza utilizzando un SSH client, gli viene richiesto il 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
SUSELinux
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%