ขอถามเกี่ยวกับ permission ของไฟล์ครับ

ผมสร้าง คือ /samba/work3 และ user1,user2,user3,user4 อยู่ในกลุ่ม testgroup
แล้วผม config ค่า share ของ directory work3 ใน /etc/samba/smb.conf แบบนี้ครับ

[work3]
comment = data user1 user2 user3 use4
path = /samba/work3
valid users = user1,user2,user3,user4
public = no
creat mask = 0770
directory mask = 0770
write list = user1,user2,user3,user4

คือผมต้องการให้เฉพาะ user1-4 สามารถที่จะเข้าใช้งาน อ่าน และเขียนใน directory นี้ได้ครับ
แต่ตอนนี้ติดปัญหาตรงที่ เวลาสร้างไฟล์ ใน work3 มันจะสามารถแก้ไขไฟล์ได้เฉพาะ เจ้าของไฟล์เท่านั้น
ถ้าเป็น user อื่นที่ไม่ได้เป็นคนสร้างไฟล์ จะสามารถเปิดเข้าไปอ่านได้ แต่จะขึ้นว่า (read only) ถ้าอยากแก้ไขต้องเซพเป็นชื่อใหม่อย่างเดียวจึงจะทำได้(อันนี้คือสร้างไฟล์จาก window นะครับ) ผมลองไปดู permission ของไฟล์ที่สร้างมันจะเป็นแบบนี้ครับ

-rwxr--r-- 1 user1 testgroup test1

อาการแบบนี้ ต้องไปแก้ไขตรงไหนบ้างครับ อยากให้ user2,user3,user4 สามารถเข้าไปแก้ไข ไฟล์ ใน work3 ได้เลยน่ะครับ
รบกวนด้วยนะครับ

[work3]
... >8 ...
creat mask = 0770
... 8< ...

ไม่แน่ใจว่าเป็น typo หรือเปล่านะครับ แต่หากใน config เป็นเหมือนที่แสดง
น่าจะต้องแก้เป็น

[work3]
... >8 ...
create mask = 0770
... 8< ...

ส่วน config แบบนี้ จะใช้ได้หรือไม่ ผมไม่แน่ใจนะครับ เพราะไม่ใช่ Samba expert ผู้รู้ท่านอื่นแนะนำเพิ่มเติมด้วยครับ

ทำไม permission เป็น -rwxr--r-- 1 user1 testgroup test1 หว่า
^
นี่มัน 0755 ไม่ใช่เหรอ (พิมพ์ผิดจริงๆแหละ)

ปล.config แบบนี้ใช้ได้ครับ

น่าจะต้องใช้ "force create mode" ประกอบนะครับ จากเอกสารของ samba:

http://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html#CREATEMASK

http://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html#FORCECREA...

จากเอกสาร สรุปประมาณว่า มันเริ่มจาก umask ของระบบ จากนั้นเอามา AND กับ create mask แล้ว OR ด้วย force create mode

ก็น่าจะ config เป็น:

create mask = 0770
force create mode = 0220

create mask = 0770 เพื่อปิด permission ของ other
force create mode = 0220 เพื่อเปิด write permission ของ user และ group

ลองดูนะครับ ผมอ่านตามเอกสารอย่างเดียว ยังไม่ได้ลองจริง

ขอบคุณทุกๆท่าน ที่ให้คำแนะนำครับ ตอนนี้ทำได้แล้วครับ ผมใช้วิธีเพิ่มกลุ่มให้กับ client และเปลี่ยนชื่อกลุ่ม directoryเอาครับ
ใช้คำสั่ง usermod -g กับ chgrp ครับ ไม่รู้ว่าเป็นวิธีที่ถูกต้องรึป่าว (มือใหม่หัดขับจริงๆครับ แฮะๆ)

Creative Commons License ลิขสิทธิ์ของบทความเป็นของเจ้าของบทความแต่ละชิ้น
ผลงานนี้ ใช้สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-อนุญาตแบบเดียวกัน 3.0 ที่ยังไม่ได้ปรับแก้