วันพฤหัสบดี, พฤศจิกายน 30, 2549

How-to set up samba in ubuntu for working with windows.

ติดตั้ง samba ก่อน
sudo apt-get install samba

จากนั้นปิดการทำงานของ samba เพื่อเข้าไปแก้ไข config
sudo /etc/init.d/samba stop

samba จะเก็บค่า config ไว้ที่ /etc/samba/smb.conf
ซึ่งข้างในจะมีรายละเอียดในการปรับแต่งอยู่พอสมควร
"อย่าไปสนใจ" ย้ายไปทีอื่นซะ (เผื่อพัง)
sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.template

แล้วก็สร้าง smb.conf ขึ้นมาใหม่
sudo nano /etc/samba/smb.conf

Copy/Paste ค่า config ข้างล่างนี้ลงไปเลย
[global]
; General server settings
netbios name = YOUR_HOSTNAME
server string =
workgroup = YOUR_WORKGROUP
announce version = 5.0
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=8192 SO_SNDBUF=8192

passdb backend = tdbsam
security = user
null passwords = true
username map = /etc/samba/smbusers
name resolve order = hosts wins bcast

wins support = yes

printing = CUPS
printcap name = CUPS

syslog = 1
syslog only = yes

; NOTE: If you need access to the user home directories uncomment the
; lines below and adjust the settings to your hearts content.
;[homes]
;valid users = %S
;create mode = 0600
;directory mode = 0755
;browseable = no
;read only = no
;veto files = /*.{*}/.*/mail/bin/

; NOTE: Only needed if you run samba as a primary domain controller.
; Not needed as this config doesn't cover that matter.
;[netlogon]
;path = /var/lib/samba/netlogon
;admin users = Administrator
;valid users = %U
;read only = no

; NOTE: Again - only needed if you're running a primary domain controller.
;[Profiles]
;path = /var/lib/samba/profiles
;valid users = %U
;create mode = 0600
;directory mode = 0700
;writeable = yes
;browseable = no

; NOTE: Inside this place you may build a printer driver repository for
; Windows - I'll cover this topic in another HOWTO.
[print$]
path = /var/lib/samba/printers
browseable = yes
guest ok = yes
read only = yes
write list = root
create mask = 0664
directory mask = 0775

[printers]
path = /tmp
printable = yes
guest ok = yes
browseable = no

; Uncomment if you need to share your CD-/DVD-ROM Drive
;[DVD-ROM Drive]
;path = /media/cdrom
;browseable = yes
;read only = yes
;guest ok = yes

[MyFiles]
path = /media/samba/
browseable = yes
read only = no
guest ok = no
create mask = 0644
directory mask = 0755
force user = YOUR_USERNAME
force group = YOUR_USERGROUP

แล้วเราก็มาแก้ YOUR_HOSTNAME กับ YOUR_WORKGROUP กัน
Q: YOUR_HOSTNAME คืออะไร ?
A: เปิด terminal ขึ้นมา ข้างหลังตัว @ นั่นแหละ YOUR_HOSTNAME (มันก็คือชื่อเครื่องนั่นแหละ)

Q: YOUR_WORKGROUP หละ
A: วงแลนที่คุณอาศัยอยู่ชื่ออะไร ? (ส่วนมากจะเป็น WORKGROUP หรือไม่งั้นก็ MSHOME)

Q: YOUR_USERNAME กับ YOUR_USERGROUP หละ
A: ชื่อที่ใช้ใน login (เปิด terminal ขึ้นมาตัวที่อยู่หน้า @ นั่นแหละชื่อ login ของคุณ)

Q: อยากเก็บ file ไว้ที่ path อื่นทำยังไง (folder อื่นนั่นแหละ)
A: ตามค่า config มันจะเก็บไว้ใน /media/samba ถ้าคุณอยากเก็บไว้ที่อื่นก็เพียงแค่แก้ตรง
path = /media/samba/ เป็นอย่างอื่น เช่น /home/files/
อย่าลืม สร้าง folder ขึ้นมารองรับนะครับ ด้วยคำสั่ง mkdir

Q: ใช้ mkdir ไม่เป็น
A: - - จะสร้าง folder files ใน folder home ก็พิมพ์ไป ว่า sudo mkdir /home/files

หลังจากนั้นก็ ปิด nano ด้วยปุ่ม ctrl+x ซะ
nano จะถามว่า จะบันทึกการเปลี่ยนแปลงไหม ให้กด y
แล้วเราก็จะมาโผล่ที่หน้าจอมืดๆเหมือนเดิม
sudo chmod 0777 /media/samba

คำสั่งนี้เพื่อให้เครื่องอื่นๆสามารถเข้ามาใช้ folder ที่เรา share ไว้ได้
อย่าลืม เปลี่ยน /media/samba ถ้าคุณเปลี่ยนเป็นอย่างอื่น

จบการ config samba ในส่วนของ smb.conf

ที่หน้าต่าง terminal สั่งเปิดบริการ samba
sudo /etc/init.d/samba start

แล้ว add ชื่อเราให้เป็น samba user
sudo smbpasswd -L -a your_username
sudo smbpasswd -L -e your_username

ถ้าอยากให้คนอื่นเข้ามาใช้โดยมี username เป็นของตัวเองก็ adduser ใหม่เข้าไป
sudo useradd -s /bin/true mark
sudo smbpasswd -L -a mark
sudo smbpasswd -L -e mark

จบการ config samba แบบ newbie เพียงเท่านี้

credit:
ubuntuforums.org