การเซ็ตอัพ Samba Standalone Server (File Server) ด้วย tdbsam Backend บน Ubuntu 7.10

เรียบเรียงโดย อดิศร ขาวสังข์
อ้างอิง 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

  1. เชื่อมต่อไปยัง Server ผ่าน shell หรือเปิด shell window ในกรณี Ubuntu Server มีการติดตั้ง desktop เอาไว้ แล้วเปลี่ยน สถานะให้เป็น root user ด้วยการรันคำสั่ง :
    sudo su
    แล้วป้อนรหัสผ่านของ user ที่ถูกสร้างในระหว่างการติดตั้ง Ubuntu


  2. ติดตั้ง Samba package ด้วยคำสั่ง :
    apt-get install libcupsys2 samba samba-common

  3. แก้ไขไฟล์ smb.conf ด้วยคำสั่ง :
    vi /etc/samba/smb.conf
    ในส่วนของ global section ให้ลบเครื่องหมาย ";" หน้าคำว่า security = user ออก ให้เหลือเป็นแบบนี้ :
    security = user
    เพื่ออีนาเบิ้ล Linux system users ให้สามารถ login เข้าสู่ Samba server ได้

  4. ปิดไฟล์และ restart samba ด้วยคำสั่ง :
    /etc/init.d/samba restart

การเพิ่ม Samba shares
ต่อเป็นการเพิ่มส่วนที่ share ให้ user ทุกคนสามารถเข้าใช้งานได้

  1. เพิ่มไดเร็คทอรี่สำหรับการแชร์ไฟล์และเปลี่ยนเ้จ้าของไปเป็น users group ดังนี้ :
    mkdir -p /home/shares/allusers
    chown -R root:users /home/shares/allusers/
    chmod -R ug+rwx,o+rx-w /home/shares/allusers/


  2. ที่ท้ายไฟล์ /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

  3. การทำให้ทุก 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


  4. restart Samba ด้วยคำสั่ง :
    /etc/init.d/samba restart

การเพิ่มและจัดการ users
ในตัวอย่างนี้จะเพิ่ม user ที่ชื่อว่า tom คุณสามารถเพิ่ม user จำนวนมากตามต้องการในวิธีการเดียวกัน ด้วยการแทนที่ username tom เป็น user อื่น ๆ ตามต้องการ

  1. เพิ่ม user ด้วยการใช้คำสั่ง :
    useradd tom -m -G users

  2. เซ็ตรหัสผ่านสำหรับ tom ใน Linux system user database โดยถ้าไม่ต้องการให้ user tom สามารถ login เข้า Linux system ได้ ก็ให้ข้ามขั้นตอนนี้ไป
    passwd tom
    แล้วป้อนรหัสผ่านของ tom ซึ่งเป็น new user

  3. เพิ่ม user tom ให้กับ Samba user database ด้วยคำสั่ง
    smbpasswd -a tom
    แล้วป้อนรหัสผ่านสำหรับ new user

มาถึงตอนนี้คุณควรจะสามารถ login จาก Windows Workstation ด้วย file explorer โดยใช้ username เป็น tom และรหัสผ่านที่ได้เคยกำหนดไว ้เพื่อเก็บไฟล์ไว้บน Linux Server ทั้งในตำแหน่งของ home directory และ public share directory ได้

จบครับ