
ปัญหานี้เกิดจาก สิทธิ์ในการเข้าถึงไฟล์บน Linux ครับ
และขอแนะนำเพิ่มเติมคือ ไม่จำเป็นต้องแยกสร้างระหว่าง User ของระบบกับ Samba ครับ
ควรใช้เป็น User เดียวกันดีกว่า ปัญหาที่เกิดขึ้นนี้จะได้ไม่เกิดบ่อย (ความสับสนของผู้ Config เอง เพราะ User แยกกัน)
รบกวน ย้อนกลับไปอ่านคำถามเกียวกับ Samba ที่ผ่านมาแล้วหน่อยนะครับ ผมเคยตอบคำถามแล้วอธิบายไว้อย่างละเอียด
คือ... ถ้าเล่าซ้ำบ่อยๆ มันพิมพ์เยอะ แล้วคนตอบจะเหนื่อย ไปเรื่อยๆ จะเริ่มท้อแท้ และไม่อยากตอบอีก
หากค้นย้อนไปอ่านแล้ว ลองทำแล้ว ติดปัญหาอะไรก็ถามมาได้ครับ ยินดีตอบเพิ่มเติม
แต่ตอบซ้ำ ไม่ไหวครับ...
เอ่อ... ผมยินดีตอบนะครับ อย่าเข้าใจผมผิดนะครับ (เคยมีคนเข้าใจผิดในคำบอกเล่า/แนะนำของผมมาแล้ว)
พิมพ์ยาวๆ ตอบคำถามเหมือนๆ หรือคล้ายๆ เดิมบ่อยๆ มันท้อน่ะครับ


สุดท้ายผมก็หาไม่เจอครับ ว่ามันอยู่ใหนในเว็ปแห่งนี้ ในส่วนที่ผมต้องการ แต่ไม่เป็นไรครับความรู้กว่าจะศึกษารู้กันมาจะมาให้ง่ายๆก็ใช้เรื่อง ผมคงต้องเร่งศึกษาหาความรู้เองสะแล้ว ในยุทธ์จักรแห่ง Linux ( ดังคำพระท่านว่า "ตนเป็นเป็นที่พึ่งแห่งตน" )

ที่ว่า "ความรู้กว่าจะศึกษารู้กันมาจะมาให้ง่ายๆก็ใช้เรื่อง"
แหม... น้อยใจไปได้ ผมพูดจริงๆ นะครับ ไม่ได้หวงเลย แต่มันพิมพ์ยาวครับ
คือ... เราทุกคนต่างก็มีภาระหน้าที่การงานทำกัน การพิมพ์ด้วยมือ มันไม่เหมือนการบอกเล่าด้วยปาก ความเร็วมันผิดกันเยอะครับ
นอกจากนั้น การพิมพ์บนนี้ ก็ยังไม่ Interactive เหมือนการบอกเล่ากันซึ่งๆ หน้า มันใช้เวลาโต้ตอบกันกว่าจะถึงจุดที่แก้ไขปรับแต่งกันได้สมบูรณ์ดังใจ
ผมกลับไปค้นดู กระทู้ที่ละเอียดที่สุดเกี่ยวกับ Samba ที่ผมเคยตอบไว้ อยู่หมายเลข 2935 ครับ
หรือที่ http://www.opentle.org/PNphpBB2-viewtopic-t-2935.html
ในนั้นมีทั้งที่ยกไฟล์ samba.conf มาทั้งดุ้นเลย
อธิบายให้เข้าใจในตัวแปรสำคัญๆ หลายตัว
ทั้งยังแนะนำถึงเทคนิคการปรับแต่งให้เป็น User เดียว Password เดียวกับระบบเพื่อให้ Synchronize กับ Service อื่นๆ ได้ เช่น FTP, NFS, HTTP, Mail เป็นต้น
และยังอธิบายถึงการกำหนดสิทธิต่างๆของไฟล์และ Directory ที่ต้องการแชร์ไว้อย่างละเอียดด้วยครับ (นี่คือปัญหาที่คุณเจอ)
เมื่อคุณไปอ่านดูแล้ว ดูความยาวของการโต้ตอบอธิบายกันแล้ว อยากให้กรุณาเข้าใจด้วยครับ
ผม (และท่านอื่นๆ) ไม่ได้หวงวิชาเลย แต่เมื่อคุณทำเป็น เข้าใจหมดแล้ว
แล้วมีคนมาถามคุณคล้ายๆ เดิม หรือเหมือนๆ เดิมซักเดือนละครั้ง สองครั้ง
เวลาผ่านไปซักครึ่งปี คุณก็จะแนะนำเหมือนผม เพราะพิมพ์ไม่ไหว
เนื่องจาก ยังมีคำถามอื่น ในด้านอื่น เรื่องอื่นๆ ที่ผม (และท่านอื่นๆ) ก็เอื้อเฟื้อตอบ/แนะนำแก่ผู้อื่นอีกหลายคน
หลาย Webboard หลายที่
การอธิบายให้ชัดเจน เป็นขั้นเป็นตอน ทำตามได้ง่าย ผมใช้เวลาพิมพ์ร่วมชั่วโมงนะครับ
ต้องเรียบเรียงเนื้อหา ข้อความ เหมือนเขียนบทความส่งหนังสือคอมพิวเตอร์รายเดือนยังไงยังงั้นเลย (แต่ฟรี ไม่มีรายได้อย่างเขียนลงหนังสือ)
และที่ลำบากกว่าคือ ต้องวิเคราะห์ด้วย ไม่เหมือนเขียนบทความลงหนังสือซึ่งเป็นการเล่าข้างเดียว
ไม่มีการย้อนถามกลับ และเราเป็นผู้เริ่มเรื่อง ดำเนินเรื่องเอง ปิดเรื่องเอง
แต่การตอบคำถามเพื่อนๆ ทั้งหลาย มันเป็นการตอบคำถามซึ่งผู้ถาม "มีปัญหา" ให้ต้องวิเคราะห์
ต้องมีการซักถาม ย้อนไปย้อนมา หน้าตาก็ไม่เห็น ไม่ได้จับ ไม่ได้สัมผัส
วิธีการอธิบาย/ตอบปัญหา/แนะนำอย่างกระทู้ดังกล่าวที่ผมตอบไป ไม่มีหนังสือ Linux (ภาษาไทย) เล่มไหนในท้องตลาดที่อธิบายเกี่ยวกับการ Config SAMBA ละเอียดอย่างนั้นเลยนะครับ
ผมรู้ได้อย่างไรหรือ ผมเคยติดปัญหามาก่อนน่ะครับ ผมไปยืนอ่านหนังสือไทยมันทุกร้าน ดูเฉพาะเรื่อง SAMBA เพื่อจะมาแก้ปัญหาให้ตัวเอง
ไม่เคยเจอเล่มไหนโดนใจ อ่านมาแล้วแก้ปัญหาได้เลย ในที่สุด ผมต้องมาหาอ่านบน Internet เอา และสั่งซื้อ Textbook จาก Book chest มาอ่าน ไปจนถึงต้องไปเดินซื้อหนังสือเองที่ต่างประเทศ (SAMBA Black book เล่มดำปี๋ ขนาดเท่าสมุดรายนามโทรศัพท์) บางส่วนก็จำเป็นต้อง D/L เอา Source code มาไล่อ่านเอาเองเลย
เช่น เรื่อง Encoding ที่ต่างกันระหว่าง Windows Me, 9x และ Windows 2000, XP ขึ้นไป เพราะเรื่องนี้ แม้กระทั่ง Windows ด้วยกันเองยังมีปัญหาเลยครับ
ทดลองดูได้ ให้ Server เป็น Windows อะไรก็ได้ เปิดแชร์ไว้เลย แล้วให้ Client 2 เครื่อง เครื่องหนึ่งเป็น Windows Me ลงไป อีกเครื่องเป็น XP หรือ 2000 ขึ้นไป
ลองสร้างไฟล์บน Server กำหนดชื่อไฟล์เป็นภาษาไทยดูครับ เครื่อง Client อีกเครื่องจะอ่านชื่อไฟล์จาก Server ไม่ออก (เอากับมันสิ)
ผมต้องแก้ไขปัญหานี้ด้วยการเอา Source code ของ Samba มาแก้ไขเฉพาะไฟล์ encoing.c ให้ตรวจสอบ SMB Protocol header ที่มาจาก Client ก่อน ว่าเป็น Version ไหน
แล้วแก้ไขตัวแปร encoding แล้วก็ปล่อยเข้าสู่ code ปกติต่อไป เพื่อทำให้ Samba ที่ Server ผม ดีกว่า Windows จริงเสียอีก คือสามารถใช้ได้กับ Client ที่เป็น Windows ทุก Version
โดยที่ไฟล์ชื่อภาษาไทยไม่ผิดเพี้ยน
เห็นไหมครับ... ที่ผมลองยกตัวอย่างอธิบายมานี่ ก็ไม่ใช่สั้นๆ แล้ว (ขนาดเอาย่อๆ แล้วนะ)
อนึ่ง
ถ้าเพื่อจะให้คนไทยเลิกใช้ M$ Windows ได้ล่ะก็ ผมไม่หวงวิชาดอกครับ
ผมคนหนึ่งล่ะ ที่ไม่ชอบการทำธุรกิจแบบครอบงำของ M$ เป็นที่สุด
ถ้ามาถามผมเรื่องใดๆ เกียวกับ Windows สิครับ ผมจะหวง ผมจะไม่ค่อยบอก
เพราะ M$ เอง ก็มี Undocument มากมาย ที่เขาไม่อยากเปิดเผย
กลัว User จะเก่ง จะหัวหมอ จนรู้ทันการครอบงำของเขา
อย่างไรก็ตาม ลองไปอ่านกระทู้ดังกล่าวดูนะครับ ปรับแต่งตามที่แนะนำไว้
ถ้ายังติดปัญหา มาถามได้เลยครับ ผมจะช่วยแนะนำต่อให้ จนคุณทำสำเร็จเลย
สุดท้าย... ขอให้รอนิดหนึ่งนะครับ พรุ่งนี้ (8 พ.ย.) ผมติดงานต่างถิ่นฐาน
กว่าจะกลับก็ปลายเดือนเลย อาจจะมาตอบช้าหน่อยนะครับ
แต่ว่า หิ้ว Notebook ไปด้วย ถ้าไม่เหนื่อยจากงานเกินไป ก็จะมาเช็คดูครับ
ปกติ พยายามเข้ามาดูทุกวันอยู่เสมอ เพื่อคอยแนะนำช่วยเหลือในด้านที่ผมถนัดหรือทำได้ดีครับ

ถูกต้องแล้วคร้าบบ คุณจักรนันท์ บางทีเรารู้นะครับว่า จะต้องทำอย่างไรแต่มันยาวเกินแล้ว เราก้อต้องทำงานอย่างอื่นอีก ขนาดในทีมยังไม่ค่อยมีเวลามาตอบบอร์ดกันเลยครับเพราะไม่ค่อยว่างกัน ก็ได้พี่ๆน้องๆในบอร์ดที่แหละครับ ช่วยๆกันตอบสำหรับ คำถาม ที่มีเข้ามา
ในความเป็นจริงแล้ว ที่เข้าใจข้างต้นก้อถูกนะครับใน community ของ opensource อย่างแรกเลย dev ต้องการให้ User พึ่งตัวเองก่อนพึ่งคนอื่น ถ้าทำแบบนี้ได้ user จะมีการพัฒนาตัวเองผมว่าตรงนี้คือข้อดีของ opensource ต่างหาก(บางคนหาว่าเป็นข้อเสีย)
พึ่งตัวเองนี้ไม่ได้ให้มั่วเองครับ อิอิ พึ่งน้องกู มากกว่า(google)หรือไม่ก็ลองเปิด config file ดูครับ เพราะ config ของ โปรแกรม ใน linux 99.9% ก็ว่าได้ มีทั้งทำอธิบายบางอันใจดีทำตัวอย่างมาให้ด้วยลองอ่านลองศึกษาดูก่อนครับ

มาช่วยเสริมครับ เผื่อจะมีประโยชน์
แก้ชั่วคราวคือ
1.ทำให้ผู้ใช้ทั้ง 2 คน อยู่ในกรุ๊ปเดียวกัน (ทำที่เครื่อง linux samba server)
* ถ้ายังไม่มีกรุ๊ปอยู่ ให้สร้างกรุ๊ปใหม่
[code:1:f708fa5e1d] # groupadd SAMBA-GROUP[/code:1:f708fa5e1d]
* เพิ่มผู้ใช้ลงในกรุ๊ปที่สร้างขึ้น
** ถ้าเป็นการแก้ไขผู้ใช้เก่า
[code:1:f708fa5e1d] # usermod -G SAMBA-GROUP USER1
# usermod -G SAMBA-GROUP USER2[/code:1:f708fa5e1d]
** ถ้าเป็นการเพิ่มผู้ใช้ใหม่
[code:1:f708fa5e1d] # useradd -G SAMBA-GROUP USER1
# useradd -G SAMBA-GROUP USER2[/code:1:f708fa5e1d]
2.เปลี่ยน permission ของไดเรคทอรี่ที่ใช้ร่วมกัน ให้กรุ๊ปสามารถอ่านเขียนได้
[code:1:f708fa5e1d] # chmod 0770 USER1:SAMBA-GROUP /PATH/TO/SAMBA-DIR[/code:1:f708fa5e1d]
แก้ระยะยาวคือ
1.เปลี่ยน file create permission ใน /etc/samba/smb.conf
* แก้ /etc/samba/smb.conf
[code:1:f708fa5e1d] [my-share]
+ create mask = 0770
+ directory mask = 0770[/code:1:f708fa5e1d]
(permission จะมีรูปแบบเป็น owner:group:other)
(0=--- 1=--x, 2=-w-, 3=-wx, 4=r--, 5=r-x, 6=rw-, 7=rwx)
2.สำหรับ linux-client หากมี client หลายเครื่อง ควรตั้ง user,uid และ group,gid ให้ตรงกันกับใน samba-server
ของผม ทำเป็นสคริปท์ add group-user ไว้ที่ส่วนกลาง แล้วเพิ่ม group,user จากสคริปท์นี้ ทำให้การบริหารง่ายขึ้น
รายละเอียดสคริปท์ สามารถดูได้จาก http://www.thailinuxhosting.com/yabbse/index.php?board=14;action=display...
(ในเครื่อง linux-samba-server ก็ใช้ได้ครับ)
หากมีข้อผิดพลาดหรือบกพร่อง รบกวนช่วยแก้ไขและเสริมให้ด้วยครับ _/|\_
Posts: 7
Joined: 11-08-2005