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

วิธีจัดการโครงสร้างพื้นฐาน Samba4 AD จาก Linux Command Line - ตอนที่ 2


บทช่วยสอนนี้จะครอบคลุมคำสั่งพื้นฐานรายวันที่คุณต้องใช้เพื่อจัดการโครงสร้างพื้นฐานของ Samba4 AD Domain Controller เช่น การเพิ่ม ลบ ปิดการใช้งาน หรือแสดงรายการผู้ใช้และกลุ่ม

นอกจากนี้เรายังดูวิธีจัดการนโยบายความปลอดภัยของโดเมนและวิธีการผูกผู้ใช้ AD กับการรับรองความถูกต้อง PAM ในเครื่องเพื่อให้ผู้ใช้ AD สามารถเข้าสู่ระบบในเครื่องบน Linux Domain Controller ได้

ความต้องการ

  1. สร้างโครงสร้างพื้นฐาน AD ด้วย Samba4 บน Ubuntu 16.04 – ตอนที่ 1
  2. จัดการโครงสร้างพื้นฐาน Samba4 Active Directory จาก Windows10 ผ่าน RSAT – ตอนที่ 3
  3. จัดการ DNS ตัวควบคุมโดเมน Samba4 AD และนโยบายกลุ่มจาก Windows – ตอนที่ 4

ขั้นตอนที่ 1: จัดการ Samba AD DC จาก Command Line

1. Samba AD DC สามารถจัดการได้ผ่านยูทิลิตีบรรทัดคำสั่ง samba-tool ซึ่งมีอินเทอร์เฟซที่ยอดเยี่ยมสำหรับการดูแลโดเมนของคุณ

ด้วยความช่วยเหลือของอินเทอร์เฟซ samba-tool คุณสามารถจัดการผู้ใช้และกลุ่มโดเมน นโยบายกลุ่มโดเมน ไซต์โดเมน บริการ DNS การจำลองโดเมน และฟังก์ชันโดเมนที่สำคัญอื่นๆ ได้โดยตรง

หากต้องการตรวจสอบฟังก์ชันทั้งหมดของ samba-tool เพียงพิมพ์คำสั่งที่มีสิทธิ์ใช้งานรูทโดยไม่มีตัวเลือกหรือพารามิเตอร์ใดๆ

samba-tool -h

2. ตอนนี้ เรามาเริ่มใช้ยูทิลิตี samba-tool เพื่อจัดการ Samba4 Active Directory และจัดการผู้ใช้ของเรากันดีกว่า

เพื่อสร้างผู้ใช้บน AD ให้ใช้คำสั่งต่อไปนี้:

samba-tool user add your_domain_user

หากต้องการเพิ่มผู้ใช้ที่มีช่องสำคัญหลายช่องตามที่ AD ต้องใช้ ไวยากรณ์ต่อไปนี้:

--------- review all options --------- 
samba-tool user add -h  
samba-tool user add your_domain_user --given-name=your_name --surname=your_username [email  --login-shell=/bin/bash

3. สามารถรับรายชื่อผู้ใช้โดเมน samba AD ทั้งหมดได้โดยการใช้คำสั่งต่อไปนี้:

samba-tool user list

4. หากต้องการลบ ผู้ใช้โดเมน samba AD ให้ใช้ไวยากรณ์ด้านล่าง:

samba-tool user delete your_domain_user

5. รีเซ็ตรหัสผ่านผู้ใช้โดเมน samba โดยดำเนินการคำสั่งด้านล่าง:

samba-tool user setpassword your_domain_user

6. หากต้องการปิดใช้งานหรือเปิดใช้งานบัญชีผู้ใช้ samba AD ให้ใช้คำสั่งด้านล่าง:

samba-tool user disable your_domain_user
samba-tool user enable your_domain_user

7. ในทำนองเดียวกัน กลุ่มแซมบ้าสามารถจัดการได้ด้วยไวยากรณ์คำสั่งต่อไปนี้:

--------- review all options --------- 
samba-tool group add –h  
samba-tool group add your_domain_group

8. ลบกลุ่มโดเมน samba โดยออกคำสั่งด้านล่าง:

samba-tool group delete your_domain_group

9. หากต้องการแสดงกลุ่มโดเมน samba ทั้งหมด ให้รันคำสั่งต่อไปนี้:

samba-tool group list

10. หากต้องการแสดงรายการสมาชิกโดเมน samba ทั้งหมดในกลุ่มเฉพาะ ให้ใช้คำสั่ง:

samba-tool group listmembers "your_domain group"

11. การเพิ่ม/การลบสมาชิกออกจากกลุ่มโดเมน samba สามารถทำได้โดยใช้คำสั่งอย่างใดอย่างหนึ่งต่อไปนี้:

samba-tool group addmembers your_domain_group your_domain_user
samba-tool group remove members your_domain_group your_domain_user

12. ตามที่กล่าวไว้ข้างต้น อินเทอร์เฟซบรรทัดคำสั่ง samba-tool ยังสามารถใช้เพื่อจัดการนโยบายโดเมน samba และความปลอดภัยของคุณได้

หากต้องการตรวจสอบการตั้งค่ารหัสผ่านโดเมน samba ของคุณ ให้ใช้คำสั่งด้านล่าง:

samba-tool domain passwordsettings show

13. ในการแก้ไขนโยบายรหัสผ่านโดเมน samba เช่น ระดับความซับซ้อนของรหัสผ่าน อายุรหัสผ่าน ความยาว จำนวนรหัสผ่านเก่าที่ต้องจำ และคุณลักษณะความปลอดภัยอื่นๆ ที่จำเป็นสำหรับ Domain Controller ให้ใช้ภาพหน้าจอด้านล่างเป็น คู่มือ.

---------- List all command options ---------- 
samba-tool domain passwordsettings -h 

ห้ามใช้กฎนโยบายรหัสผ่านตามที่แสดงไว้ข้างต้นในสภาพแวดล้อมการใช้งานจริง การตั้งค่าข้างต้นใช้เพื่อวัตถุประสงค์ในการสาธิตเท่านั้น

ขั้นตอนที่ 2: การตรวจสอบสิทธิ์ท้องถิ่นของ Samba โดยใช้บัญชี Active Directory

14. ตามค่าเริ่มต้น ผู้ใช้ AD ไม่สามารถเข้าสู่ระบบภายในเครื่องบนระบบ Linux นอกสภาพแวดล้อม Samba AD DC

ในการเข้าสู่ระบบด้วยบัญชี Active Directory คุณต้องทำการเปลี่ยนแปลงต่อไปนี้ในสภาพแวดล้อมระบบ Linux ของคุณและแก้ไข Samba4 AD DC

ขั้นแรก ให้เปิดไฟล์การกำหนดค่าหลักของ samba และเพิ่มบรรทัดด้านล่าง หากขาดหายไป ดังที่แสดงในภาพหน้าจอด้านล่าง

sudo nano /etc/samba/smb.conf

ตรวจสอบให้แน่ใจว่าข้อความต่อไปนี้ปรากฏในไฟล์การกำหนดค่า:

winbind enum users = yes
winbind enum groups = yes

15. หลังจากที่คุณทำการเปลี่ยนแปลงแล้ว ให้ใช้ยูทิลิตี testparm เพื่อให้แน่ใจว่าไม่พบข้อผิดพลาดในไฟล์การกำหนดค่า samba และรีสตาร์ท samba daemons โดยออกคำสั่งด้านล่าง

testparm
sudo systemctl restart samba-ad-dc.service

16. ต่อไป เราต้องแก้ไขไฟล์การกำหนดค่า PAM ในเครื่องเพื่อให้บัญชี Samba4 Active Directory สามารถตรวจสอบสิทธิ์และเปิดเซสชันบนระบบภายในเครื่องและสร้างบ้านได้ ไดเร็กทอรีสำหรับผู้ใช้เมื่อเข้าสู่ระบบครั้งแรก

ใช้คำสั่ง pam-auth-update เพื่อเปิดข้อความแจ้งการกำหนดค่า PAM และตรวจสอบให้แน่ใจว่าคุณเปิดใช้งานโปรไฟล์ PAM ทั้งหมดโดยใช้ปุ่ม [space] ดังที่แสดงในภาพหน้าจอด้านล่าง

เมื่อเสร็จแล้วให้กดปุ่ม [Tab] เพื่อเลื่อนไปที่ ตกลง และใช้การเปลี่ยนแปลง

sudo pam-auth-update

17. ตอนนี้ เปิดไฟล์ /etc/nsswitch.conf ด้วยโปรแกรมแก้ไขข้อความ และเพิ่ม คำสั่ง winbind ที่ส่วนท้ายของรหัสผ่านและบรรทัดกลุ่ม ตามที่แสดงในภาพหน้าจอด้านล่าง

sudo vi /etc/nsswitch.conf

18. สุดท้าย แก้ไขไฟล์ /etc/pam.d/common-password ค้นหาบรรทัดด้านล่างดังที่แสดงในภาพหน้าจอด้านล่าง และลบ use_authtok< คำสั่ง

การตั้งค่านี้ช่วยให้มั่นใจได้ว่าผู้ใช้ Active Directory สามารถเปลี่ยนรหัสผ่านจากบรรทัดคำสั่งในขณะที่ได้รับการรับรองความถูกต้องใน Linux เมื่อเปิดการตั้งค่านี้ ผู้ใช้ AD ที่ได้รับการตรวจสอบสิทธิ์ภายในเครื่องบน Linux จะไม่สามารถเปลี่ยนรหัสผ่านจากคอนโซลได้

password       [success=1 default=ignore]      pam_winbind.so try_first_pass

ลบตัวเลือก use_authtok ทุกครั้งที่ติดตั้งการอัปเดต PAM และนำไปใช้กับโมดูล PAM หรือทุกครั้งที่คุณดำเนินการคำสั่ง pam-auth-update

19. ไบนารี Samba4 มาพร้อมกับ winbindd daemon ในตัวและเปิดใช้งานตามค่าเริ่มต้น

ด้วยเหตุนี้ คุณจึงไม่จำเป็นต้องเปิดใช้งานและเรียกใช้ winbind daemon แยกต่างหากจากแพ็คเกจ winbind จากที่เก็บ Ubuntu อย่างเป็นทางการอีกต่อไป

ในกรณีที่บริการ winbind เก่าและเลิกใช้งานแล้วเริ่มต้นบนระบบ ตรวจสอบให้แน่ใจว่าคุณได้ปิดการใช้งานและหยุดบริการโดยใช้คำสั่งด้านล่าง:

sudo systemctl disable winbind.service
sudo systemctl stop winbind.service

แม้ว่าเราไม่จำเป็นต้องเรียกใช้ winbind daemon เก่าอีกต่อไป แต่เรายังคงต้องติดตั้งแพ็คเกจ Winbind จากที่เก็บข้อมูลเพื่อติดตั้งและใช้เครื่องมือ wbinfo

ยูทิลิตี Wbinfo สามารถใช้เพื่อค้นหาผู้ใช้และกลุ่ม Active Directory จากมุมมองของ winbindd daemon

คำสั่งต่อไปนี้แสดงวิธีการสืบค้นผู้ใช้ AD และกลุ่มโดยใช้ wbinfo

wbinfo -g
wbinfo -u
wbinfo -i your_domain_user

20. นอกเหนือจากยูทิลิตี้ wbinfo คุณยังสามารถใช้ยูทิลิตี้บรรทัดคำสั่ง getent เพื่อสืบค้นฐานข้อมูล Active Directory จากไลบรารี Name Service Switch ซึ่งแสดงใน /etc/nsswitch.conf ไฟล์

ไปป์คำสั่ง getent ผ่านตัวกรอง grep เพื่อจำกัดผลลัพธ์ให้แคบลงเกี่ยวกับฐานข้อมูลผู้ใช้ขอบเขตโฆษณาหรือกลุ่มของคุณ

getent passwd | grep TECMINT
getent group | grep TECMINT

ขั้นตอนที่ 3: เข้าสู่ระบบ Linux ด้วยผู้ใช้ Active Directory

21. ในการตรวจสอบความถูกต้องบนระบบกับผู้ใช้ Samba4 AD เพียงใช้พารามิเตอร์ ชื่อผู้ใช้ AD หลัง su - คำสั่ง

ในการเข้าสู่ระบบครั้งแรก ข้อความจะปรากฏบนคอนโซลเพื่อแจ้งให้คุณทราบว่าไดเร็กทอรีหลักได้ถูกสร้างขึ้นบนเส้นทางของระบบ /home/$DOMAIN/ พร้อมด้วยแผงคอของชื่อผู้ใช้ AD ของคุณ

ใช้ คำสั่ง id เพื่อแสดงข้อมูลเพิ่มเติมเกี่ยวกับผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์

su - your_ad_user
id
exit

22. หากต้องการเปลี่ยนรหัสผ่านสำหรับผู้ใช้ AD ที่ได้รับการรับรองความถูกต้อง ให้พิมพ์ คำสั่ง passwd ในคอนโซลหลังจากที่คุณเข้าสู่ระบบสำเร็จแล้ว

su - your_ad_user
passwd

23. ตามค่าเริ่มต้น ผู้ใช้ Active Directory จะไม่ได้รับสิทธิ์รูทเพื่อดำเนินงานด้านการดูแลระบบบน Linux

หากต้องการให้สิทธิ์ root แก่ผู้ใช้ AD คุณต้องเพิ่มชื่อผู้ใช้ให้กับกลุ่ม sudo ในเครื่องโดยใช้คำสั่งด้านล่าง

ตรวจสอบให้แน่ใจว่าคุณใส่ ขอบเขต, เครื่องหมายสแลช และ ชื่อผู้ใช้ AD ด้วยเครื่องหมายคำพูดเดี่ยว ASCII

usermod -aG sudo 'DOMAIN\your_domain_user'

หากต้องการทดสอบว่าผู้ใช้ AD มีสิทธิ์รูทบนระบบภายในเครื่องหรือไม่ ให้เข้าสู่ระบบและเรียกใช้คำสั่ง เช่น apt-get update ด้วยสิทธิ์ sudo

su - tecmint_user
sudo apt-get update

24. ในกรณีที่คุณต้องการเพิ่มสิทธิ์รูทสำหรับทุกบัญชีของกลุ่ม Active Directory ให้แก้ไขไฟล์ /etc/sudoers โดยใช้คำสั่ง visudo และ เพิ่มบรรทัดด้านล่างหลังบรรทัดสิทธิ์ root ดังที่แสดงในภาพหน้าจอด้านล่าง:

%DOMAIN\\your_domain\  group ALL=(ALL:ALL) ALL

ใส่ใจกับไวยากรณ์ sudoers เพื่อที่คุณจะได้ไม่แยกประเด็นออกไป

ไฟล์ Sudoers จัดการการใช้เครื่องหมายคำพูด ASCII ได้ไม่ดีนัก ดังนั้นตรวจสอบให้แน่ใจว่าคุณใช้ % เพื่อแสดงว่าคุณกำลังอ้างถึงกลุ่มและใช้แบ็กสแลชเพื่อ หลีกเลี่ยงเครื่องหมายทับแรกหลังชื่อโดเมนและเครื่องหมายแบ็กสแลชอีกตัวหนึ่งเพื่อยกเว้นช่องว่างหากชื่อกลุ่มของคุณมีช่องว่าง (กลุ่มในตัว AD ส่วนใหญ่จะมีช่องว่างตามค่าเริ่มต้น) นอกจากนี้ให้เขียนขอบเขตด้วยตัวพิมพ์ใหญ่

นั่นคือทั้งหมดที่สำหรับตอนนี้! การจัดการโครงสร้างพื้นฐาน Samba4 AD สามารถทำได้ด้วยเครื่องมือหลายอย่างจากสภาพแวดล้อม Windows เช่น ADUC, DNS Manager, GPM หรืออื่นๆ ซึ่งสามารถรับได้โดยการติดตั้งแพ็คเกจ RSAT จากหน้าดาวน์โหลดของ Microsoft

หากต้องการดูแลระบบ Samba4 AD DC ผ่านยูทิลิตี้ RSAT จำเป็นอย่างยิ่งที่จะต้องรวมระบบ Windows เข้ากับ Samba4 Active Directory นี่จะเป็นหัวข้อของบทช่วยสอนครั้งต่อไปของเรา จนกว่าจะถึงเวลานั้น โปรดติดตาม TecMint