本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Winbind 手動將 Amazon EC2 Linux 執行個體加入您的 AWS 受管 Microsoft AD 活動目錄
您可以使用 Winbind 服務手動將您的 Amazon EC2 Linux 執行個體加入到 AWS 受管 Microsoft AD 活動目錄網域。這可讓您現有的內部部署作用中目錄使用者在存取加入您 AWS 受管理的 Microsoft AD 活動目錄的 Linux 執行個體時,使用他們的作用中目錄認證。系統支援下列 Linux 執行個體分佈和版本:
其他 Linux 分佈和版本也許能正常運作,但尚未經過測試。
將 Linux 執行個體加入您的 AWS 管理 Microsoft AD 活動目錄
以下某些程序若未正確執行,可能會導致您的執行個體無法連線或無法使用。因此,我們強烈建議您在執行這些程序之前,對您的執行個體進行備份或擷取快照。
將 Linux 執行個體加入您的目錄
使用以下其中一個標籤,依照您的特定 Linux 執行個體的步驟:
- Amazon Linux/CENTOS/REDHAT
-
-
使用任何用SSH戶端 Connect 至執行個體。
-
將 Linux 執行個體設定為使用提供之伺DNS服器的DNS伺 AWS Directory Service服器 IP 位址。您可以在附加至的「DHCP選項」集中進行設定,VPC或在例證上手動設定來執行此操作。如果您想要手動設定,請參閱如何將靜態DNS伺服器指派給 AWS 知識中心中的私有 Amazon EC2 執行個體,以取得針對特定 Linux 發行版和版本設定永久性DNS伺服器的指引。
-
請確定您的 Linux 執行個體處於最新狀態。
sudo yum -y update
-
在您的 Linux 執行個體上安裝必要的 Samba / Winbind 套裝服務。
sudo yum -y install authconfig samba samba-client samba-winbind samba-winbind-clients
-
備份主 smb.conf
檔案,以便在發生任何故障時可以恢復:
sudo cp /etc/samba/smb.conf /etc/samba/smb.bk
-
在文字編輯器中開啟原始組態檔案 [/etc/samba/smb.conf
] 。
sudo vim /etc/samba/smb.conf
填寫您的活動目錄域環境信息,如下面的例子所示:
[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
-
在文字編輯器中開啟 [/etc/hosts
] 檔案。
sudo vim /etc/hosts
新增 Linux 執行個體私有 IP 地址,如下所示:
10.x.x.x
Linux_hostname
.example.com
Linux_hostname
如果您未在/etc/hosts
檔案中指定 IP 位址,將執行個體加入網域時,可能會收到下列DNS錯誤訊息。 :
No DNS domain configured for linux-instance. Unable to perform DNS
Update. DNS update failed: NT_STATUS_INVALID_PARAMETER
此錯誤表示加入成功,但 [net ads] 命令無法在中註冊DNS記錄DNS。
-
使用 net 公用程式將 Linux 執行個體加入 Active Directory。
sudo net ads join -U join_account@example.com
Enter join_account@example.com
's password:
Using short domain name -- example
Joined 'IP-10-x-x-x
' to dns domain 'example.com
'
-
修改PAM配置文件,使用以下命令添加 Winbind 身份驗證所需的條目:
sudo authconfig --enablewinbind --enablewinbindauth --enablemkhomedir --update
-
透過編輯/etc/ssh/sshd_config
檔案將SSH服務設定為允許密碼驗證。
-
在文字編輯器中開啟 /etc/ssh/sshd_config
檔案。
sudo vi /etc/ssh/sshd_config
-
將 PasswordAuthentication
設定設為 yes
。
PasswordAuthentication yes
-
重新啟動 SSH 服務。
sudo systemctl restart sshd.service
或使用:
sudo service sshd restart
-
重新啟動執行個體之後,請透過任何用SSH戶端連線至執行個體,並執行下列步驟,將網域使用者或群組的 root 權限新增至 sudoers 清單:
-
使用下列命令開啟 sudoers
檔案:
sudo visudo
-
從信任或受信任域中新增所需群組或使用者,如下所示,然後儲存。
## 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
(上述範例使用 "\<space>" 來建立 Linux 空白字元。)
- SUSE
-
-
使用任何用SSH戶端 Connect 至執行個體。
-
將 Linux 執行個體設定為使用提供之伺DNS服器的DNS伺 AWS Directory Service服器 IP 位址。您可以在附加至的「DHCP選項」集中進行設定,VPC或在例證上手動設定來執行此操作。如果您想要手動設定,請參閱如何將靜態DNS伺服器指派給 AWS 知識中心中的私有 Amazon EC2 執行個體,以取得針對特定 Linux 發行版和版本設定永久性DNS伺服器的指引。
-
請確定您的 SUSE Linux 15 執行個體為最新版本。
-
連接套件儲存庫。
sudo SUSEConnect -p PackageHub/15.1/x86_64
-
更新SUSE。
sudo zypper update -y
-
在您的 Linux 執行個體上安裝必要的 Samba / Winbind 套裝服務。
sudo zypper in -y samba samba-winbind
-
備份主 smb.conf
檔案,以便在發生任何故障時可以恢復:
sudo cp /etc/samba/smb.conf /etc/samba/smb.bk
-
在文字編輯器中開啟原始組態檔案 [/etc/samba/smb.conf
] 。
sudo vim /etc/samba/smb.conf
填寫 Active Directory 域環境訊息,如下例所示:
[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
-
在文字編輯器中開啟 [/etc/hosts
] 檔案。
sudo vim /etc/hosts
新增 Linux 執行個體私有 IP 地址,如下所示:
10.x.x.x
Linux_hostname
.example.com
Linux_hostname
如果您未在/etc/hosts
檔案中指定 IP 位址,將執行個體加入網域時,可能會收到下列DNS錯誤訊息。 :
No DNS domain configured for linux-instance. Unable to perform DNS
Update. DNS update failed: NT_STATUS_INVALID_PARAMETER
此錯誤表示加入成功,但 [net ads] 命令無法在中註冊DNS記錄DNS。
-
使用下列命令將 Linux 執行個體加入目錄。
sudo net ads join -U join_account@example.com
Enter join_account@example.com
's password:
Using short domain name -- example
Joined 'IP-10-x-x-x
' to dns domain 'example.com
'
-
修改PAM配置文件,使用以下命令添加 Winbind 驗證所需的條目:
sudo pam-config --add --winbind --mkhomedir
-
在文字編輯器中開啟名稱服務交換器組態檔案 [/etc/nsswitch.conf
]。
vim /etc/nsswitch.conf
新增 Winbind 指令,如下所示。
passwd: files winbind
shadow: files winbind
group: files winbind
-
透過編輯/etc/ssh/sshd_config
檔案將SSH服務設定為允許密碼驗證。
-
在文字編輯器中開啟 /etc/ssh/sshd_config
檔案。
sudo vim /etc/ssh/sshd_config
-
將 PasswordAuthentication
設定設為 yes
。
PasswordAuthentication yes
-
重新啟動 SSH 服務。
sudo systemctl restart sshd.service
或使用:
sudo service sshd restart
-
重新啟動執行個體之後,請透過任何用SSH戶端連線至該執行個體,並執行下列步驟,將網域使用者或群組的 root 權限新增至 sudoers 清單:
-
使用下列命令開啟 sudoers
檔案:
sudo visudo
-
從信任或受信任域中新增所需群組或使用者,如下所示,然後儲存。
## 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
(上述範例使用 "\<space>" 來建立 Linux 空白字元。)
- Ubuntu
-
-
使用任何用SSH戶端 Connect 至執行個體。
-
將 Linux 執行個體設定為使用提供之伺DNS服器的DNS伺 AWS Directory Service服器 IP 位址。您可以在附加至的「DHCP選項」集中進行設定,VPC或在例證上手動設定來執行此操作。如果您想要手動設定,請參閱如何將靜態DNS伺服器指派給 AWS 知識中心中的私有 Amazon EC2 執行個體,以取得針對特定 Linux 發行版和版本設定永久性DNS伺服器的指引。
-
請確定您的 Linux 執行個體處於最新狀態。
sudo yum -y update
sudo apt-get -y upgrade
-
在您的 Linux 執行個體上安裝必要的 Samba / Winbind 套裝服務。
sudo apt -y install samba winbind libnss-winbind libpam-winbind
-
備份主 smb.conf
檔案,以便在發生任何故障時可以恢復。
sudo cp /etc/samba/smb.conf /etc/samba/smb.bk
-
在文字編輯器中開啟原始組態檔案 [/etc/samba/smb.conf
] 。
sudo vim /etc/samba/smb.conf
填寫 Active Directory 域環境訊息,如下例所示:
[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
-
在文字編輯器中開啟 [/etc/hosts
] 檔案。
sudo vim /etc/hosts
新增 Linux 執行個體私有 IP 地址,如下所示:
10.x.x.x
Linux_hostname
.example.com
Linux_hostname
如果您未在/etc/hosts
檔案中指定 IP 位址,將執行個體加入網域時,可能會收到下列DNS錯誤訊息。 :
No DNS domain configured for linux-instance. Unable to perform DNS
Update. DNS update failed: NT_STATUS_INVALID_PARAMETER
此錯誤表示加入成功,但 [net ads] 命令無法在中註冊DNS記錄DNS。
-
使用 net 公用程式將 Linux 執行個體加入 Active Directory。
sudo net ads join -U join_account@example.com
Enter join_account@example.com
's password:
Using short domain name -- example
Joined 'IP-10-x-x-x
' to dns domain 'example.com
'
-
修改PAM配置文件,使用以下命令添加 Winbind 驗證所需的條目:
sudo pam-auth-update --add --winbind --enable mkhomedir
-
在文字編輯器中開啟名稱服務交換器組態檔案 [/etc/nsswitch.conf
]。
vim /etc/nsswitch.conf
新增 Winbind 指令,如下所示。
passwd: compat winbind
group: compat winbind
shadow: compat winbind
-
透過編輯/etc/ssh/sshd_config
檔案將SSH服務設定為允許密碼驗證。
-
在文字編輯器中開啟 /etc/ssh/sshd_config
檔案。
sudo vim /etc/ssh/sshd_config
-
將 PasswordAuthentication
設定設為 yes
。
PasswordAuthentication yes
-
重新啟動 SSH 服務。
sudo systemctl restart sshd.service
或使用:
sudo service sshd restart
-
重新啟動執行個體之後,請透過任何用SSH戶端連線至該執行個體,並執行下列步驟,將網域使用者或群組的 root 權限新增至 sudoers 清單:
-
使用下列命令開啟 sudoers
檔案:
sudo visudo
-
從信任或受信任域中新增所需群組或使用者,如下所示,然後儲存。
## 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
(上述範例使用 "\<space>" 來建立 Linux 空白字元。)
Connect 至 Linux 執行個體
當使用者使用用SSH戶端連線至執行個體時,系統會提示他們輸入使用者名稱。如果使用者想輸入使用者名稱,可以善用 username@example.com
或 EXAMPLE\username
格式。視您使用的 Linux 發行版本而定,回應會類似下列內容:
Amazon Linux、Red Hat Enterprise Linux 及 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%