Monday, November 23, 2009

setup PDC Samba ด้วย Redhat Enterprise 5

เพื่อนๆมิตรรักนักเซ็ตอัพของไอทีทริปเปิลพลัสทุกท่านครับ วิชาความรู้บางอย่างถ้าไม่ได้ใช้นาน ๆ ถึงคราวเอามาใช้จริง ๆ กลับลืมเสียดื้อ ๆ ซะงั้นเหมือนมีดคมในฝัก พอชักออกมาสนิมล่วงกราว ผมเจอกับตนเองอยู่บ่อย ๆ เช่นวันนี้ samba server ของลูกค้าเสีย (ฮาร์ดดิสก์อยู่ๆพาร์ติชั่นหาย) ต้องเซ็ตอัพกันใหม่ เราได้เข้าไปบริษัทของลูกค้าตั้งแต่เก้าโมงเช้า พร้อมกับนำตัวโปรแกรม centos ไปติดตั้งอยู่ ๆ แผ่นโปรแกรมก็ติดตั้งต่อไม่ได้ จึงต้องเปลี่ยนไปใช้แผ่น linux Redhat Enterprise 5 และถึงคราว set Samba PDC เซ็ตแป็บเดียวเสร็จ พอ joint เครื่อง xp เข้า PDC นั้นแหละตั้งแต่เครื่องแรกก็ joint ไม่ได้แล้วทบทวน config ก็แล้วลง windows ใหม่ก็แล้วเล่นเข้าไปเกือบ 6 ชั่วโมงถึงแก้ปัญหาได้ จึงขอบันทึกการทำงานวันนี้ไว้กันลืม มิตรรักแฟนเพลงจะนำไปใช้ก็ได้ครับ ไม่สงวนสิทธิ์แต่อย่างใด ( เพราะเราก็ copy มาเหมือนกัน อิอิ )

1. ติดตั้ง Redhat Enterprise 5 ให้มี package ที่จำเป็นเหล่านี้ด้วย
samba-common-3.0.25b-1.el5_1.2
samba-client-3.0.25b-1.el5_1.2
samba-3.0.25b-1.el5_1.2


2. คอนฟิกไฟล์ /etc/samba/smb.conf ตามนี้

[global]
workgroup = CWTPDC
server string = Samba PDC
passdb backend = tdbsam
log level = 3
log file = /var/log/samba/%m.log
max log size = 50
add user script = /usr/sbin/useradd "%u" -n -g users
delete user script = /usr/sbin/userdel "%u"
add group script = /usr/sbin/groupadd "%g"
delete group script = /usr/sbin/groupdel "%g"
delete user from group script = /usr/sbin/userdel "%u" "%g"
add machine script = /usr/sbin/useradd -n -g machines -c "Workstation (%u)"
-d /dev/null -s /bin/false "%u"
domain logons = Yes
os level = 35
preferred master = Yes
domain master = Yes
wins support = Yes
cups options = raw


3. สร้าง group ntadmins และ map ไปเป็นกรุ๊ป "Domain Admins" ซึ่งเป็นกรุ๊ปพิเศษใน windows
#groupadd ntadmin

จากนั้นสร้างมาอีก 2 กรุ๊ป โดยกรุ๊ปหนึ่งสำหรับ domain user และอีกกรุ๊ปหนึ่งสำหรับ user Guest

#groupadd ntusers
#groupadd ntguests


4. จากนั้นรันคำสั่งต่อไปนี้

net groupmap add ntgroup="Domain Admins" unixgroup=ntadmins rid=512 type=d
net groupmap add ntgroup="Domain Users" unixgroup=ntusers rid=513 type=d
net groupmap add ntgroup="Domain Guests" unixgroup=ntguests rid=514 type=d


ทุก ๆ คำสั่งควรจะ "Successfull" และสุดท้ายตรวจสอบดูว่า map ได้ถูกต้องหรือไม่ ด้วยคำสั่ง

#net groupmap list

5. เพิ่ม user ชื่อ root เข้าไปในไฟล์ /etc/samba/passdb.tdb ซึ่งเป็นพาสเวิร์ดของ samba
#useradd -a root ใส่พาสเวิร์ดเข้าไป

ต่อด้วยสร้าง testuser ขึ้นมาทดสอบดูโดยตั้งให้อยู่ในกรุ๊ป ntusers

#useradd -G ntusers testuser
#passwd testuser


#smbpasswd -a testuser

========= *** ถึงขั้นนี้ให้ restart samba ใหม่ด้วยคำสั่ง service smb restart *** =========

6. ไปที่เครื่อง windows ให้ joint Domain (ที่นี้ได้แก่ CWTPDC) ให้ใส่ username เป็น root พาสเวิร์ดตามที่ตั้ง
เมื่อ joint ได้แล้วหลังจาก restart windowsxp ให้ login ด้วย user testuser ซึ่งถึงตรงนี้ไม่น่ามีปัญหาใด ๆ จากนั้นก็ add user ปกติได้เลย...


setup pdc samba with redhat enterprise5
setup pdc samba with redhat enterprise

ปัญหาที่เราพบและหาอยู่เกือบ 6 ชั่วโมงจาก config ที่บันทึกนี้

ที่เครื่อง WindowsXP ในช่วงที่ joint ครั้งแรกจะขึ้น error ว่า username ไม่ถูกต้องหรือหาไม่พบ บางครั้งขึ้นว่า network part ไม่ถูกต้องไล่ config ไปๆมาๆหลายรอบไม่เจอ จนกระทั้งได้รันคำสั่งใน config ทีละคำสั่งนั้นแหละจึงถึงบางอ้อ ก็คำสั่งนี้

add machine script = /usr/sbin/useradd -n -g machines -c "Workstation (%u)"
-d /dev/null -s /bin/false "%u"


ยังไม่มี machines ใน /etc/group เลย จึงจัดการสร้างขึ้นมาให้เรียบร้อย และก็เรียบร้อยจริง ๆ เสียที

1 comments:

MRT IT Consult said...

ยังมีปัญหาอีกเรื่องหนึ่งที่ยังไม่ได้พูดสำหรับงานนี้ เมื่อ copy ไฟล์จาก backup กลับมาชื่อไฟล์ที่เป็นภาษาไทยกลายเป็นขยะอ่านไม่ได้ ให้ไปแก้ไขไฟล์ /etc/samba/smb.conf เพิ่ม option เข้าไปภายใต้หัวข้อ [global] ดังนี้

unix charset = TIS-620

Twitter Delicious Facebook Digg Stumbleupon Favorites More