สวัสดีครับเพื่อนๆ วันนี้มี how to มาฝาก เที่ยงวันนี้เพื่อนผมโทรมาหาจากบริษัทถามว่าผมเคยใช้ samba หรือเปล่า ผมก็บอกว่าเคย แล้วก็ส่งสายต่อไปให้เพื่อนที่ทำงานเค้าอีกคนก็ได้คุยกันครับ ถามเรื่องระบบที่เขาใช้ ปรากฏว่าเป็น FreeBSD 7 ซึ่งจริงๆ แล้วผมไม่เคยคอนฟิก Samba บน FreeBSD มาก่อน เคยทำแต่บน Linux แต่ก็พอรู้หลักการทำงานของมันก็เลยนั่งค้นๆ และได้ทดลองติดตั้ง FreeBSD 7 บน VMware และก็ได้เขียน How to เป็นภาษาไทยส่งให้เพื่อนไป คิดว่าคงเป็นประโยชน์กับบางท่านที่ต้องนำ Samba มาประยุกต์ใช้กับหน่วยงานนะครับ เลยเอามาเขียนไว้ให้ได้อ่านกัน เริ่มกันเลย
การติดตั้ง Samba3 บน FreeBSD 7 เพื่อใช้เป็นแชร์ไฟล์เซิร์ฟเวอร์
1.) cd /usr/ports/net/samba3
2.) make install clean
เลือก Option เพิ่มเติมดังนี้
3.) หากติดตั้งไปแล้วพบข้อความ error
===> Applying FreeBSD patches for cups-base-1.3.5_2
Ignoring previously applied (or reversed) patch.
10 out of 10 hunks ignored--saving rejects to cups/ipp.c.rej
=> Patch patch-CVE-2007-4351 failed to apply cleanly.
*** Error code 1
Stop in /usr/ports/print/cups-base.
*** Error code 1
Stop in /usr/ports/net/samba3.
*** Error code 1
Stop in /usr/ports/net/samba3.
4.) ให้แก้ปัญหานี้โดยติดตั้ง cups-base ด้วยคำสั่ง pkg_add -r cups-base แทนจากนั้นค่อยสั่ง make install clean อีกครั้ง
samba# pkg_add -r cups-base
5.) เมื่อติดตั้ง cups-base ด้วยคำสั่ง pkg_add -r cubs-base แล้วสั่ง make install clean อีกครั้ง
samba# make install clean
ติดตั้ง samba เสร็จแล้วให้สั่ง rehash เพื่อปรับปรุงฐานข้อมูล hash ของ path ต่างๆ
samba# rehash
6.) ติดตั้ง nano editor (หากใครถนัดใช้ vi ข้ามขั้นตอนนี้ไปก็ได้ครับ)
samba# pkg_add -r nano
sanba# rehash
7.) เข้าไปยังไดเร็กทอรี่ที่เก็บไฟล์คอนฟิกของระบบ /usr/local/etc
samba# cd /usr/local/etc
8.) สำรองไฟล์คอนฟิกของ samba
samba# cp smb.conf smb.conf.original
9.) แก้ไขไฟล์คอนฟิกของ samba
samba# nano smb.conf
โดยกำหนดค่าดังนี้
9.1) ไอเทม workgroup เปลี่ยนจาก MYGROUP เป็นชื่อเวิร์คกรุ๊ปของเรา
ตัวอย่าง
workgroup = WORKGROUP
9.2) ไอเทม server string เปลียนเป็นชื่อที่ต้องการ
ตัวอย่าง
server string = Samba Share
9.3) ไอเทม security กำหนดให้เป็น user
ตัวอย่าง
security = user
9.4) กำหนดให้ทุก user มี share ไดเร็กทอรีโดย
[homes]
comment = Home directory for %u on %h
browseable = no
writable = yes
path = /usr/home/%u/share
valid users = %S
# ตรงส่วนนี้หมายถึงหาก user สร้างไดเร็กทอรีที่ชื่อว่า share ไว้ใน /home/username ของตัวเองจะทำให้เราสามารถ อ่าน-เขียน ข้อมูลในไดเร็กทอรีนี้ผ่านวินโดวส์ได้ เช่น ผมมี user : mrgill
สร้างไดเร็กทอรี share ให้ user
samba# mkdir /home/mrgill/share
samba# chown mrgill /home/mrgill/share
9.10) กำหนด public share เพื่อใช้เป็นไดเร็กทอรีกลาง ทุกคนมีสิทธิ์เรียกใช้งานได้ (อ่าน-เขียนได้)
[public]
comment = %h Shared Public Directory
path = /usr/home/samba/public
force directory mode = 0777
force create mode = 0777
force group = nobody
force user = nobody
public = yes
writeable = yes
read only = no
#บันทึกไฟล์ smb.conf โดยการกด Ctrl + O แล้วก็กด enter หนึ่งครั้ง
#ออกจาก nano โดยการกด Ctrl + X
10.) สร้างไดเร็กทอรี่ /home/samba/public
samba# mkdir -p /home/samba/public
samba# chmod 777 /home/samba/public
11.) กำหนดให้ samba ทำงานเมื่อเริ่มต้นระบบ
samba# cp /etc/rc.conf /etc/rc.conf.original
samba# nano /etc/rc.conf
จากนั้นเพิ่มบรรทัดต่อไปนี้เข้าไป
samba_enable="YES"
#บันทึกไฟล์ smb.conf โดยการกด Ctrl + O แล้วก็กด enter หนึ่งครั้ง
#ออกจาก nano โดยการกด Ctrl + X
12.) สร้าง user ที่ต้องการ ตัวอย่างผมสร้าง user : amp
samba# adduser
Username: amp
Full name: Pennapa Treechot
Uid (Leave empty for default):
Login group [amp]:
Login group is amp. Invite amp into other groups? []:
Login class [default]:
Shell (sh csh tcsh nologin) [sh]:
Home directory [/home/amp]:
Use password-based authentication? [yes]:
Use an empty password? (yes/no) [no]:
Use a random password? (yes/no) [no]:
Enter password: #ตอนกรอกรหัสผ่านจะไม่เห็นตัวอักขระใดๆ
Enter password again: #ตอนกรอกรหัสผ่านจะไม่เห็นตัวอักขระใดๆ
Lock out the account after creation? [no]:
Username : amp
Password : *****
Full Name : Pennapa Treechot
Uid : 1003
Class :
Groups : amp
Home : /home/amp
Shell : /bin/sh
Locked : no
OK? (yes/no): yes
adduser: INFO: Successfully added (amp) to the user database.
Add another user? (yes/no): no
Goodbye!
13.) สร้างไดเร็กทอรี share ให้ user amp
samba# mkdir /home/amp/share
samba# chown amp:amp /home/amp/share
14. ) รีสตาร์ท Server
samba# reboot
15.) หลังจากที่เปิดเครื่องมาแล้ว login เข้าระบบ จากนั้นทำการ map user ของระบบให้เป็น user ของ samba โดยใช้คำสั่ง
samba# smbpasswd -a amp
New SMB password: #ตอนกรอกรหัสผ่านจะไม่เห็นตัวอักขระใดๆ
Retype new SMB password: #ตอนกรอกรหัสผ่านจะไม่เห็นตัวอักขระใดๆ
Added user amp.
ซึ่งรหัสผ่านของ smbpasswd อาจเป็นคนละตัวกับตอนที่เรา add amp เข้าระบบก็ได้
16.) ทดลองเรียกเครื่อง samba จากเครื่องวินโดวส์โดย คลิกที่ start > run > ในช่อง run พิมพ์ \\w.x.y.z (w.x.y.z หมายถึง ip ของเครื่อง samba)
เช่น \\192.168.1.7
ระบบจะให้เรากรอก user และ password สำหรับเข้าระบบ ให้เรากรอก user และ password ทีได้ทำการ map ให้กับ samba แล้วลงไปก็จะเห็นแชร์ไดเร็กทอรีของตัวเองและ public
อ้างอิง :
http://www.us-webmasters.com/FreeBSD/Install/Samba/
21 มีนาคม 2552 16:26
#368449
ได้ครับ ผมดับคลิ๊ก ที่Folder public มันให้ ใส่ User กับ Password ตลอดเลย