เรียบเรียงโดย อดิศร ขาวสังข์
อ้างอิง http://www.ubuntugeek.com/howto-setup-samba-server-with-tdbsam-backend.html,
http://www.howtoforge.com/ubuntu-gutsy-samba-standalone-server-with-tdbsam-backend
จัดทำเืมื่อ 30/03/2551
บทนำ
ในที่นี้จะอธิบายการติดตั้ง Samba File Server บน Ubuntu 7.10 และการคอนฟิกเพื่อการ Share files บน SMB protocal รวมถึงการเพิ่ม user โดยจะคอนฟิก Samba ให้เป็น standalone server ไม่ใช่ domain controller ในการเซ็ตอัพใช้ Ubuntu Server installation CD แต่ขบวนการติดตั้งจะทำงานเหมือนบน Ubuntu desktop
ผลที่ได้จากการเซ็ตอัพทุก user สามารถเข้าสู่ home directory ของตัวเองผ่าน SMB protocol และทุก user จะมี shared ที่สามารถอ่านและเขียนได้
What is tdmsam
Samba สามารถเก็บ user และ machine account data ใน "TDB" (trivial database) การใช้ backend ไม่ต้องการการคอนฟิกเพิ่มเติมใด ๆ ซึ่ง backend นี้ถูกแนะนำสำหรับการติดตั้งใหม่ที่ไม่ใช้ LDAP
การแนะนำโดยทั่วไปทีม samba ไม่แนะนำให้ใช้ tdbsam backend สำหรับ site ที่มียูสเซอร์เป็น 250 หรือมากกว่า นอกจากนั้น tdmsam ไม่มีความสามารถที่จะใช้สำหรับ site ที่ต้องการใช้ระบบ PDC/BDC ที่ต้องการการตอบ (replication) ของ account database
การติดตั้ง Samba
- เชื่อมต่อไปยัง Server ผ่าน shell หรือเปิด shell window ในกรณี Ubuntu Server มีการติดตั้ง desktop เอาไว้ แล้วเปลี่ยน สถานะให้เป็น root user ด้วยการรันคำสั่ง :
sudo su
แล้วป้อนรหัสผ่านของ user ที่ถูกสร้างในระหว่างการติดตั้ง Ubuntu
- ติดตั้ง Samba package ด้วยคำสั่ง :
apt-get install libcupsys2 samba samba-common
- แก้ไขไฟล์ smb.conf ด้วยคำสั่ง :
vi /etc/samba/smb.conf
ในส่วนของ global section ให้ลบเครื่องหมาย ";" หน้าคำว่า security = user ออก ให้เหลือเป็นแบบนี้ :
security = user
เพื่ออีนาเบิ้ล Linux system users ให้สามารถ login เข้าสู่ Samba server ได้
- ปิดไฟล์และ restart samba ด้วยคำสั่ง :
/etc/init.d/samba restart
การเพิ่ม Samba shares
ต่อเป็นการเพิ่มส่วนที่ share ให้ user ทุกคนสามารถเข้าใช้งานได้
- เพิ่มไดเร็คทอรี่สำหรับการแชร์ไฟล์และเปลี่ยนเ้จ้าของไปเป็น users group ดังนี้ :
mkdir -p /home/shares/allusers
chown -R root:users /home/shares/allusers/
chmod -R ug+rwx,o+rx-w /home/shares/allusers/
- ที่ท้ายไฟล์ /etc/samba/smb.conf ให้เพิ่มบรรทัดต่อไปนี้
[allusers]
comment = All Users
path = /home/shares/allusers
valid users = @users
force group = users
create mask = 0660
directory mask = 0771
writable = yes
- การทำให้ทุก user สามารถอ่านและเขียนใน home directory ของตัวเองผ่าน samba ได้ ให้เพิ่มบรรทัดต่อไปนี้เข้าไปในไฟล์ /etc/samba/smb.conf
[homes]
comment = Home Directories
browseable = no
valid users = %S
writable = yes
create mask = 0700
directory mask = 0700
- restart Samba ด้วยคำสั่ง :
/etc/init.d/samba restart
การเพิ่มและจัดการ users
ในตัวอย่างนี้จะเพิ่ม user ที่ชื่อว่า tom คุณสามารถเพิ่ม user จำนวนมากตามต้องการในวิธีการเดียวกัน ด้วยการแทนที่ username tom เป็น user อื่น ๆ ตามต้องการ
- เพิ่ม user ด้วยการใช้คำสั่ง :
useradd tom -m -G users
- เซ็ตรหัสผ่านสำหรับ tom ใน Linux system user database โดยถ้าไม่ต้องการให้ user tom สามารถ login เข้า Linux system ได้ ก็ให้ข้ามขั้นตอนนี้ไป
passwd tom
แล้วป้อนรหัสผ่านของ tom ซึ่งเป็น new user
- เพิ่ม user tom ให้กับ Samba user database ด้วยคำสั่ง
smbpasswd -a tom
แล้วป้อนรหัสผ่านสำหรับ new user
มาถึงตอนนี้คุณควรจะสามารถ login จาก Windows Workstation ด้วย file explorer โดยใช้ username เป็น tom และรหัสผ่านที่ได้เคยกำหนดไว ้เพื่อเก็บไฟล์ไว้บน Linux Server ทั้งในตำแหน่งของ home directory และ public share directory ได้
จบครับ