ค้นหาเว็บไซต์

รวม Ubuntu 16.04 เข้ากับ AD ในฐานะสมาชิกโดเมนกับ Samba และ Winbind - ตอนที่ 8


บทช่วยสอนนี้อธิบายวิธีการรวมเครื่อง Ubuntu เข้ากับโดเมน Samba4 Active Directory เพื่อตรวจสอบสิทธิ์บัญชี AD ด้วย ACL ในเครื่องสำหรับไฟล์และไดเรกทอรีหรือ เพื่อสร้างและแมปการแชร์วอลุ่มสำหรับผู้ใช้ตัวควบคุมโดเมน (ทำหน้าที่เป็นเซิร์ฟเวอร์ไฟล์)

ความต้องการ:

  1. สร้างโครงสร้างพื้นฐาน 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 รูปแบบ .