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
Oltre alle istanze Windows di Amazon EC2, puoi anche aggiungere determinate istanze Amazon EC2 Linux alla tua AWS Managed 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
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
-
-
Connettiti all'istanza tramite qualsiasi client SSH.
-
Configura l'istanza Linux per utilizzare gli indirizzi IP dei server DNS dei server DNS AWS Directory Service forniti. 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.
-
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 servizio SSH per permettere l'autenticazione della 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 client SSH 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
-
-
Connettiti all'istanza tramite qualsiasi client SSH.
-
Configurate l'istanza Linux per utilizzare gli indirizzi IP dei server DNS dei server DNS forniti. 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.
-
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 servizio SSH per permettere l'autenticazione della 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 client SSH 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
-
-
Connettiti all'istanza tramite qualsiasi client SSH.
-
Configurate l'istanza Linux per utilizzare gli indirizzi IP dei server DNS dei server DNS forniti. 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.
-
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 servizio SSH per permettere l'autenticazione della 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 client SSH 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
-
-
Connettiti all'istanza tramite qualsiasi client SSH.
-
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.
-
Assicurati che l'istanza di SUSE Linux 15 sia aggiornata.
-
Collega il repository dei pacchetti.
sudo SUSEConnect -p PackageHub/15.1/x86_64
-
Aggiorna SUSE.
sudo zypper update -y
-
Installa i pacchetti SUSE Linux 15 richiesti sulla propria 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.
-
Abilitare manualmente SSSD in PAM.
sudo pam-config --add --sss
-
Modifica nsswitch.conf per abilitare SSSD in nsswitch.conf
sudo vi /etc/nsswitch.conf
passwd: compat sss
group: compat sss
shadow: compat sss
-
Aggiungi la seguente riga a /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 client SSH per verificare che l'aggiunta al dominio sia stata completata correttamente e finalizzare ulteriori passaggi.
-
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 daemon 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 l'accesso tramite SSH e console
sudo realm permit join_account@example.com
Per consentire l'accesso a un gruppo di dominio tramite SSH e console
sudo realm permit -g 'AWS Delegated Administrators'
O per consentire a tutti gli utenti di accedere
sudo realm permit --all
-
Imposta il servizio SSH per permettere l'autenticazione della 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 client SSH 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
-
-
Connettiti all'istanza tramite qualsiasi client SSH.
-
Configurate l'istanza Linux per utilizzare gli indirizzi IP dei server DNS dei server DNS forniti. 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.
-
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
-
Disattivare la risoluzione DNS inversa e impostare l'area di autenticazione predefinita sul nome di dominio completo del dominio. Perché un realm possa funzionare, le istanze Ubuntu devono essere risolvibili in modo inverso nel DNS. In caso contrario, dovrai disabilitare il DNS inverso in /etc/krb5.conf come segue:
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 servizio SSH per permettere l'autenticazione della 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 client SSH 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, OU è Testou
.
dc
-
È il componente di dominio del tuo dominio. In questo esempio, example
(esempio).
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, OU è Testou
.
dc
-
È il componente di dominio del tuo dominio. In questo esempio, example
(esempio).
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 le identità UNIX/Linux User Identifier (UID) e Group Identifier (GID) e Windows and Security Identifier (SID). Active Directory
La mappatura centralizzata dell'identità degli utenti Active Directory richiede l'interfaccia del sistema operativo portatile o POSIX.
Mappatura centralizzata delle identità degli utenti
Active Directoryo un altro servizio LDAP (Lightweight Directory Access Protocol) fornisce UID e GID agli utenti Linux. InActive Directory, questi identificatori sono memorizzati negli attributi degli utenti:
UID - Il nome utente Linux (String)
Numero UID: il numero ID utente Linux (numero intero)
Numero GID: il numero ID del gruppo Linux (numero intero)
Per configurare un'istanza Linux da cui utilizzare l'UID e il GIDActive Directory, impostatelo ldap_id_mapping = False
nel file sssd.conf. Prima di impostare questo valore, verifica di aver aggiunto un UID, un numero UID e un numero GID agli utenti e ai gruppi in. Active Directory
Mappatura distribuita delle identità degli utenti
Se Active Directory non dispone dell'estensione POSIX o se si sceglie di non gestire centralmente la mappatura delle identità, Linux può calcolare i valori UID e GID. Linux utilizza l'identificatore di sicurezza (SID) univoco dell'utente per mantenere la coerenza.
Per configurare la mappatura distribuita degli ID utente, impostala ldap_id_mapping = True
nel file sssd.conf.
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%