รวม Ubuntu 16.04 เข้ากับ AD ในฐานะสมาชิกโดเมนกับ Samba และ Winbind - ตอนที่ 8
บทช่วยสอนนี้อธิบายวิธีการรวมเครื่อง Ubuntu เข้ากับโดเมน Samba4 Active Directory เพื่อตรวจสอบสิทธิ์บัญชี AD ด้วย ACL ในเครื่องสำหรับไฟล์และไดเรกทอรีหรือ เพื่อสร้างและแมปการแชร์วอลุ่มสำหรับผู้ใช้ตัวควบคุมโดเมน (ทำหน้าที่เป็นเซิร์ฟเวอร์ไฟล์)
ความต้องการ:
- สร้างโครงสร้างพื้นฐาน Active Directory ด้วย Samba4 บน Ubuntu
ขั้นตอนที่ 1: การกำหนดค่าเริ่มต้นเพื่อเข้าร่วม Ubuntu กับ Samba4 AD
1. ก่อนที่จะเริ่มเข้าร่วมโฮสต์ Ubuntu ใน Active Directory DC คุณต้องแน่ใจว่าบริการบางอย่างได้รับการกำหนดค่าอย่างถูกต้องบนเครื่องภายในเครื่อง
ลักษณะสำคัญของเครื่องของคุณคือ ชื่อโฮสต์ ตั้งชื่อเครื่องให้ถูกต้องก่อนเข้าร่วมโดเมนด้วยความช่วยเหลือของคำสั่ง hostnamectl หรือโดยการแก้ไขไฟล์ /etc/hostname ด้วยตนเอง
hostnamectl set-hostname your_machine_short_name
cat /etc/hostname
hostnamectl
2. ในขั้นตอนถัดไป ให้เปิดและแก้ไขการตั้งค่าเครือข่ายเครื่องด้วยตนเองด้วยการกำหนดค่า IP ที่เหมาะสม การตั้งค่าที่สำคัญที่สุดที่นี่คือที่อยู่ IP ของ DNS ซึ่งชี้กลับไปยังตัวควบคุมโดเมนของคุณ
แก้ไขไฟล์ /etc/network/interfaces และเพิ่มคำสั่ง dns-nameservers พร้อมด้วยที่อยู่ IP ของ AD และชื่อโดเมนที่เหมาะสมตามที่แสดงในภาพหน้าจอด้านล่าง
นอกจากนี้ ตรวจสอบให้แน่ใจว่าได้เพิ่มที่อยู่ IP ของ DNS และชื่อโดเมนเดียวกันลงในไฟล์ /etc/resolv.conf
ในภาพหน้าจอด้านบน 192.168.1.254 และ 192.168.1.253 คือที่อยู่ IP ของ Samba4 AD DC และ Tecmint.lan< หมายถึงชื่อของโดเมน AD ซึ่งจะถูกสอบถามโดยเครื่องทั้งหมดที่รวมอยู่ในขอบเขต
3. เริ่มบริการเครือข่ายใหม่หรือรีบูตเครื่องเพื่อใช้การกำหนดค่าเครือข่ายใหม่ ออกคำสั่ง ping กับชื่อโดเมนของคุณเพื่อทดสอบว่าการแก้ไข DNS ทำงานตามที่คาดไว้หรือไม่
AD DC ควรเล่นซ้ำด้วย FQDN ในกรณีที่คุณได้กำหนดค่าเซิร์ฟเวอร์ DHCP ในเครือข่ายของคุณให้กำหนดการตั้งค่า IP สำหรับโฮสต์ LAN ของคุณโดยอัตโนมัติ ตรวจสอบให้แน่ใจว่าคุณได้เพิ่มที่อยู่ IP ของ AD DC ลงในการกำหนดค่า DNS ของเซิร์ฟเวอร์ DHCP
systemctl restart networking.service
ping -c2 your_domain_name
4. การกำหนดค่าที่สำคัญล่าสุดที่จำเป็นจะแสดงโดยการซิงโครไนซ์เวลา ติดตั้งแพ็คเกจ ntpdate เวลาสืบค้นและซิงค์กับ AD DC โดยใช้คำสั่งด้านล่าง
sudo apt-get install ntpdate
sudo ntpdate -q your_domain_name
sudo ntpdate your_domain_name
5. ในขั้นตอนถัดไปให้ติดตั้งซอฟต์แวร์ที่จำเป็นสำหรับเครื่อง Ubuntu เพื่อรวมเข้ากับโดเมนโดยสมบูรณ์โดยการรันคำสั่งด้านล่าง
sudo apt-get install samba krb5-config krb5-user winbind libpam-winbind libnss-winbind
ในขณะที่กำลังติดตั้งแพ็คเกจ Kerberos คุณควรถูกขอให้ป้อนชื่อของขอบเขตเริ่มต้นของคุณ ใช้ชื่อโดเมนของคุณด้วยตัวพิมพ์ใหญ่และกดปุ่ม Enter เพื่อดำเนินการติดตั้งต่อ
6. หลังจากติดตั้งแพ็คเกจทั้งหมดเสร็จแล้ว ให้ทดสอบการรับรองความถูกต้องของ Kerberos กับบัญชีผู้ดูแลระบบ AD และแสดงรายการตั๋วโดยใช้คำสั่งด้านล่าง
kinit ad_admin_user
klist
ขั้นตอนที่ 2: เข้าร่วม Ubuntu กับ Samba4 AD DC
7. ขั้นตอนแรกในการรวมเครื่อง Ubuntu เข้ากับโดเมน Samba4 Active Directory คือการแก้ไขไฟล์การกำหนดค่า Samba
สำรองไฟล์การกำหนดค่าเริ่มต้นของ Samba ซึ่งจัดทำโดยผู้จัดการแพ็คเกจ เพื่อเริ่มต้นด้วยการกำหนดค่าใหม่ทั้งหมดโดยการรันคำสั่งต่อไปนี้
mv /etc/samba/smb.conf /etc/samba/smb.conf.initial
nano /etc/samba/smb.conf
ในไฟล์การกำหนดค่า Samba ใหม่ให้เพิ่มบรรทัดด้านล่าง:
[global]
workgroup = TECMINT
realm = TECMINT.LAN
netbios name = ubuntu
security = ADS
dns forwarder = 192.168.1.1
idmap config * : backend = tdb
idmap config *:range = 50000-1000000
template homedir = /home/%D/%U
template shell = /bin/bash
winbind use default domain = true
winbind offline logon = false
winbind nss info = rfc2307
winbind enum users = yes
winbind enum groups = yes
vfs objects = acl_xattr
map acl inherit = Yes
store dos attributes = Yes
แทนที่ตัวแปร workgroup, realm, ชื่อ netbios และ ตัวส่งต่อ DNS ด้วยการตั้งค่าที่คุณกำหนดเอง
พารามิเตอร์ winbind ใช้โดเมนเริ่มต้น ทำให้บริการ winbind ปฏิบัติต่อชื่อผู้ใช้ AD ที่ไม่เข้าเกณฑ์ในฐานะผู้ใช้ AD คุณควรละเว้นพารามิเตอร์นี้ถ้าคุณมีชื่อบัญชีระบบภายในเครื่องที่ทับซ้อนกับบัญชี AD
8. ตอนนี้ คุณควรรีสตาร์ท samba daemons ทั้งหมด และหยุดและลบบริการที่ไม่จำเป็นออก และเปิดใช้งานบริการ samba ทั่วทั้งระบบโดยออกคำสั่งด้านล่าง
sudo systemctl restart smbd nmbd winbind
sudo systemctl stop samba-ad-dc
sudo systemctl enable smbd nmbd winbind
9. เข้าร่วมเครื่อง Ubuntu กับ Samba4 AD DC โดยออกคำสั่งต่อไปนี้ ใช้ชื่อของบัญชี AD DC ที่มีสิทธิ์ของผู้ดูแลระบบเพื่อให้การผูกกับขอบเขตทำงานได้ตามที่คาดไว้
sudo net ads join -U ad_admin_user
10. จากเครื่อง Windows ที่ติดตั้งเครื่องมือ RSAT คุณสามารถเปิด AD UC และนำทางไปยังคอนเทนเนอร์ คอมพิวเตอร์ ที่นี่เครื่องที่เข้าร่วม Ubuntu ของคุณควรอยู่ในรายการ
ขั้นตอนที่ 3: กำหนดค่าการตรวจสอบบัญชี AD
11. ในการดำเนินการตรวจสอบสิทธิ์สำหรับบัญชี AD บนเครื่องท้องถิ่น คุณต้องแก้ไขบริการและไฟล์บางอย่างในเครื่องท้องถิ่น
ขั้นแรก เปิดและแก้ไขไฟล์การกำหนดค่า The Name Service Switch (NSS)
sudo nano /etc/nsswitch.conf
ถัดไปผนวกค่า winbind สำหรับบรรทัด passwd และกลุ่มตามที่แสดงในข้อความที่ตัดตอนมาด้านล่าง
passwd: compat winbind
group: compat winbind
12. เพื่อทดสอบว่าเครื่อง Ubuntu สามารถรวมเข้ากับขอบเขตได้สำเร็จหรือไม่ ให้รันคำสั่ง wbinfo เพื่อแสดงรายการบัญชีโดเมนและกลุ่ม
wbinfo -u
wbinfo -g
13. นอกจากนี้ ให้ตรวจสอบโมดูล Winbind nsswitch โดยการออกคำสั่ง getent และไปป์ผลลัพธ์ผ่านตัวกรอง เช่น grep เพื่อจำกัดเอาต์พุตให้แคบลงเฉพาะสำหรับ ผู้ใช้หรือกลุ่มโดเมนเฉพาะ
sudo getent passwd| grep your_domain_user
sudo getent group|grep 'domain admins'
14. ในการตรวจสอบสิทธิ์บนเครื่อง Ubuntu ด้วยบัญชีโดเมน คุณต้องรันคำสั่ง pam-auth-update ด้วยสิทธิ์รูท และเพิ่มรายการทั้งหมดที่จำเป็นสำหรับบริการ winbind และ สร้างโฮมไดเร็กทอรีสำหรับแต่ละบัญชีโดเมนโดยอัตโนมัติเมื่อเข้าสู่ระบบครั้งแรก
ตรวจสอบรายการทั้งหมดโดยกดปุ่ม [space]
แล้วกด ok เพื่อใช้การกำหนดค่า
sudo pam-auth-update
15. ในระบบ Debian คุณต้องแก้ไขไฟล์ /etc/pam.d/common-account ด้วยตนเองและบรรทัดต่อไปนี้เพื่อสร้างบ้านโดยอัตโนมัติสำหรับผู้ใช้โดเมนที่ได้รับการตรวจสอบสิทธิ์
session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
16. เพื่อให้ผู้ใช้ Active Directory สามารถเปลี่ยนรหัสผ่านจากบรรทัดคำสั่งใน Linux ให้เปิด /etc/pam.d/common-password ไฟล์และลบคำสั่ง use_authtok ออกจากบรรทัดรหัสผ่านเพื่อดูข้อความที่ตัดตอนมาด้านล่างในที่สุด
password [success=1 default=ignore] pam_winbind.so try_first_pass
17. หากต้องการตรวจสอบความถูกต้องบนโฮสต์ Ubuntu ด้วยบัญชี Samba4 AD ให้ใช้พารามิเตอร์ชื่อผู้ใช้ของโดเมนหลังคำสั่ง su – เรียกใช้คำสั่ง id เพื่อรับข้อมูลเพิ่มเติมเกี่ยวกับบัญชี AD
su - your_ad_user
ใช้คำสั่ง pwd เพื่อดูไดเร็กทอรีปัจจุบันของผู้ใช้โดเมนของคุณ และคำสั่ง passwd หากคุณต้องการเปลี่ยนรหัสผ่าน
18. หากต้องการใช้บัญชีโดเมนที่มีสิทธิ์รูทบนเครื่อง Ubuntu คุณต้องเพิ่มชื่อผู้ใช้ AD ในกลุ่มระบบ sudo โดยออกคำสั่งด้านล่าง:
sudo usermod -aG sudo your_domain_user
เข้าสู่ระบบ Ubuntu ด้วยบัญชีโดเมนและอัปเดตระบบของคุณโดยเรียกใช้คำสั่ง apt-get update เพื่อตรวจสอบว่าผู้ใช้โดเมนมีสิทธิ์ใช้งานรูทหรือไม่
19. หากต้องการเพิ่มสิทธิ์รูทสำหรับกลุ่มโดเมน ให้เปิดไฟล์แก้ไข /etc/sudoers โดยใช้คำสั่ง visudo และเพิ่มบรรทัดต่อไปนี้ตามภาพประกอบ บนภาพหน้าจอด้านล่าง
%YOUR_DOMAIN\\your_domain\ group ALL=(ALL:ALL) ALL
ใช้แบ็กสแลชเพื่อหลีกช่องว่างที่อยู่ในชื่อกลุ่มโดเมนของคุณ หรือเพื่อหลีกแบ็กสแลชแรก ในตัวอย่างข้างต้น กลุ่มโดเมนสำหรับขอบเขต TECMINT มีชื่อว่า “ผู้ดูแลระบบโดเมน ”
สัญลักษณ์เปอร์เซ็นต์ก่อนหน้า (%)
ระบุว่าเรากำลังหมายถึงกลุ่ม ไม่ใช่ชื่อผู้ใช้
20. ในกรณีที่คุณใช้งาน Ubuntu เวอร์ชันกราฟิก และต้องการเข้าสู่ระบบด้วยผู้ใช้โดเมน คุณจะต้องแก้ไขตัวจัดการการแสดงผล LightDM โดยแก้ไข /usr/share/lightdm /lightdm.conf.d/50-ubuntu.conf เพิ่มบรรทัดต่อไปนี้และรีบูตเครื่องเพื่อแสดงการเปลี่ยนแปลง
greeter-show-manual-login=true
greeter-hide-users=true
ตอนนี้ควรจะสามารถเข้าสู่ระบบบน Ubuntu Desktop ด้วยบัญชีโดเมนโดยใช้รูปแบบ your_domain_username หรือ your_domain_username@your_domain.tld หรือ your_domain\your_domain_username รูปแบบ .