รอบนี้มาเล่าเรื่องของการทำ Domain Controller ที่ทำให้เครื่องคอมพิวเตอร์สมาชิกสามารถล็อกอินเข้าสู่ระบบ เพื่อกระทำการต่าง ๆ ได้ ซึ่งเขากำลังจะนำมาใช้จริง ๆ จัง ๆ ในภาควิชานี่แหล่ะ ผมเลยต้องศึกษาเอาไว้

หากคุณเคยใช้งานพวก Network Netghborhood หรือ Network Share ต่าง ๆ น่าจะพอรู้จักอยู่บ้างครับ ระบบเหล่านั้นทำงานโดยอาศัยโปรโตคอลที่ชื่อว่า SMB/CIFS มีความสามารถที่ทำให้เราสามารถเข้าถึงข้อมูลจากเครื่องคอมพิวเตอร์ต่าง ๆ ในระบบได้ เช่นไฟล์, พรินเตอร์ เป็นต้นครับ แต่การแบ่งปันนั้นก็สามารถกำหนดสิทธิการเข้าถึงได้เช่นต้องมี username, password แต่หากมี Share Location หลาย ๆ แห่ง คุณก็ต้องกรอก username, password ทุกรอบไป

Domain Controller ทำหน้าที่เป็น Remote Authentication Service ที่คอยยืนยันตัวของสมาชิก เมื่อคุณเป็นสมาชิกของ Domain แล้ว คุณสามารถขอใช้บริการต่าง ๆ ที่คุณมีสิทธิ์ได้โดยไม่ต้องกรอกรหัสผ่านใหม่ คล้าย ๆ กับเป็น Passport นั่นเอง

ตาม Technical นั้น Domain Controller คือ SMB/CIFS ที่เปิด Share Location ที่ชื่อว่า netlogon แล้วก็มีอะไรอีกเล็กน้อยครับ (จำไม่ได้) ฉะนั้นคงจะไม่ใช่เรื่องยากหากจะติดตั้ง PDC ผ่าน Samba

การติดตั้งระบบ Domain ก็มีขั้นตอนง่าย ๆ ครับ
- กำหนดค่าพื้นฐานที่ต้องใช้กับ Samba เช่น share mode = user, domain logon = yes, etc.
อันนี้ทำให้ Samba สามารถทำตัวเป็น Domain Controller ได้

CODE
[global]
...
workgroup = YOURDOMAINNAME
server string = The Domain Controller
security = user
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
local master = yes
os level = 64 # 64 or more
domain master = yes
preferred master = yes
domain logons = yes
...


- กำหนดกลุ่ม domain admin group
ระบบ Domain ไม่ใช่ว่ากำหนด Domain แล้วจะสามารถ Login ได้เลย แต่เครื่องคอมพิวเตอร์เครื่องนั้นต้องเป็นเครื่องที่ระบบ Domain เชื่อถือ (Trust Machine) ฉะนั้นเมื่อจะนำเครื่องเข้าสู่ระบบ Domain จึงต้องมีการ Authorize จาก Domain Administrator ก่อนครับ ก็คือคนกลุ่มนี้นี่เอง

CODE
[global]
...
admin group = @smb.admin
...


- เปิด Share ที่ชื่อว่า netlogon, Profiles, homes
share เหล่านี้จะถูก Comment อยู่ใน smb.conf บรรทัดล่าง ๆ ครับ

CODE
[netlogon]
comment = Network Logon Service
path = /etc/samba/netlogon
guest ok = yes
; writeable = no
share modes = no

[Profiles]
path = /etc/samba/profiles
read only = No
create mask = 0600
directory mask = 0700

[homes]
comment = Home Directories
browseable = no
read only = no


- เพิ่มรายการ Trust Machine
ทำได้โดยการเพิ่ม unix user ที่เป็นชื่อของคอมพิวเตอร์ที่ต้องการตามด้วยเครื่องหมาย $ เช่น iwat-notebook$ จากนั้นก็ lock user ซะ เพราะไม่ได้เอาไว้ login แล้วก็เพิ่มเข้าสู่ SMB Database ตามลำดับครับ

CODE
# groupadd smb.trust-machine
# useradd -g smb.trust-machine -d /tmp/ -s /sbin/nologin -c "SMB Trust Machine" my-pc-name$
# passwd -l my-pc-name$
# smbpasswd -a -m my-pc-name


- เพิ่มสมาชิกเข้าสู่ SMB Database
เพิ่มสมาชิกที่มีอยู่ใน unix แล้วเท่านั้น เข้าสู่ระบบของ Samba

CODE
# smbpasswd -a member1


- ติดตั้งระบบ Domain ในแต่ละเครื่องให้เป็น Domain ที่สร้างไว้ แล้วใช้ User/Pass ของ Admin ในการ Confirm

คร่าวๆก่อนละกันครับ วันหลังจะเอาวิธี ทำ Domain controler และ Active Directory โดยใช้ samba+OpenLdap มาให้อ่านกัน