ฉันจะบังคับใช้สิทธิ์เฉพาะสำหรับไฟล์ / โฟลเดอร์ใหม่บนเซิร์ฟเวอร์ไฟล์ Linux ได้อย่างไร


14

ฉันมีปัญหากับการติดตั้ง Ubuntu 9.10 (ไฟล์เซิร์ฟเวอร์) และการอนุญาตของแซมบ้า การเข้าสู่ระบบและการอ่านทำงานได้ดี อย่างไรก็ตามการสร้างไดเรกทอรีใหม่โดยผู้ใช้จะ จำกัด การเข้าถึงสำหรับผู้ใช้รายอื่น ตัวอย่างเช่นหาก Bob (ผู้ใช้ Windows ที่แมปไดรฟ์) สร้างโฟลเดอร์ในไดเรกทอรี Jane (ผู้ใช้ Mac ที่เพียงติดตั้ง smb) สามารถอ่านจากมันได้ แต่ไม่สามารถเขียนลงไปได้ - และในทางกลับกัน ฉันต้องไปยังไดเรกทอรี CHMOD 777 เพื่อให้ทุกคนมีความสุข ฉันได้ลองแก้ไขตัวเลือก "create / directory mask" และ "force" ในไฟล์ smb.conf แต่ดูเหมือนจะไม่ช่วย

ฉันกำลังจะหันไปใช้ CRONTABing เป็นกิจวัตร chmod ซ้ำแม้ว่าฉันแน่ใจว่านี่ไม่ใช่การแก้ไข ฉันจะทำให้ไอเท็มใหม่ทั้งหมดเป็น 777 ได้อย่างไร ใครบ้างมีข้อเสนอแนะเพื่อแก้ไขสถานการณ์ที่เกิดขึ้นนี้?

ดีที่สุด


กลุ่มผู้ใช้และการอนุญาตเนทิฟอื่น ๆ โปรดอย่า chmod 777
Warner

คำตอบ:


13

ฉันมักจะใช้ฟังก์ชั่นดั้งเดิมของ SAMBA สำหรับการอนุญาตและการจัดการกลุ่มในการแชร์ ตัวอย่างเช่น..

force user=user1
force group=sharedgroup
create mask=775

คุณจะระบุการตั้งค่าเหล่านี้ภายใต้การแชร์ ให้แน่ใจว่าได้โหลด SAMBA อีกครั้งหลังจากการเปลี่ยนแปลงการกำหนดค่าซึ่งสามารถทำได้ผ่านสคริปต์เริ่มต้น


1
แต่โพสต์บอกว่าเขาทำอย่างนั้นและมันก็ไม่ได้ผล ....
Mistiry

2
จากนั้นเขาก็ทำผิด มันได้ผล.
วอร์เนอร์

ฉันไม่แน่ใจว่าเกิดอะไรขึ้น ฉันได้ลองด้วยตนเองและผ่าน Webmin แล้วไม่มีประโยชน์ บางทีการเลือกกลุ่มของกลุ่มของฉันผิดหรือเปล่า? ฉันได้ลองใช้ "ผู้ใช้" รวมถึงกลุ่มที่สร้างขึ้นด้วยตนเองหลายแห่งซึ่งทุกคนเป็นสมาชิกแล้ว ไม่ว่าฉันจะทำอะไรผู้ใช้จะไม่สามารถจัดการสิ่งที่ไม่ได้ทำเอง "ทางออก" เพียงอย่างเดียวคือให้ผู้ใช้ทุกคนเข้าสู่ระบบ (หรือเมานต์) เป็น GUEST ที่สร้างความสับสน
humble_coder

SAMBA ใช้การรวมกันของสิทธิ์ระบบไฟล์และการตั้งค่าภายในการกำหนดค่า หากผู้ใช้ไม่ได้อยู่ในwrite listหรืออนุญาตให้เขียนในการกำหนดค่าการแชร์จะไม่ทำงาน หากผู้ใช้ที่ SAMBA ทำงานที่ไม่สามารถเข้าถึงไดเรกทอรีมันจะไม่ทำงาน ผู้ใช้ควรเป็นสมาชิกของกลุ่มที่เหมาะสมไดเรกทอรีและไฟล์ควรเป็นเจ้าของโดยกลุ่มนั้นและมีบิตที่เขียนได้สำหรับกลุ่ม คุณสามารถตรวจสอบบันทึก SAMBA ได้เช่นกัน
วอร์เนอร์

2
ฉันรอมานานแล้ว! ขอบคุณ! :) มันทำงานได้ตามที่คาดไว้
NagyI

2

ตั้งค่าการอนุญาตในไดเรกทอรีเป็น 2777 เช่นนี้

chmod 2777 /shared/dir

สิ่งนี้ทำให้ไฟล์และโฟลเดอร์ทั้งหมดภายใต้ไดเรกทอรี '/ shared / dir' ได้รับการอนุญาตของไดเรกทอรีบนสุดในกรณีนี้ 777

หลังจากนั้นให้ทำเช่นนี้เพื่อให้แน่ใจว่าไฟล์ทั้งหมดมีสิทธิ์ที่เหมาะสม:

chmod -R 777 /shared/dir

/tmpเกี่ยวกับสถานการณ์ที่เดียวที่สาธารณชนสามารถเขียนได้เป็นที่ยอมรับอยู่กับ
วอร์เนอร์

1
ใช่น่าจะดีกว่าที่จะใช้ 774 หรือ 770 ขึ้นอยู่กับสถานการณ์ แต่เขาถามว่าจะทำให้พวกเขาทั้งหมด '777' ดังนั้นฉันเพิ่งใช้มันในตัวอย่างของฉัน
Mistiry

3
ใช่ แต่ฉันจะมั่นใจได้อย่างไรว่าไฟล์ในอนาคตทั้งหมดที่คัดลอกไปยังไดเรกทอรีนั้นบนเครือข่ายได้รับการอนุญาตเดียวกันโดยไม่คำนึงถึงการอนุญาตขั้นต้น ฉันไม่มีปัญหาเมื่อทำด้วยตนเองฉันเพียงต้องการให้เป็นแบบอัตโนมัติ
humble_coder

2
สิ่งนี้ใช้ไม่ได้ การตั้งค่าสถานะ setgid สำหรับโฟลเดอร์ตั้งกลุ่มของไฟล์และโฟลเดอร์ใหม่ไม่ใช่สิทธิ์และการเรียกใช้ chmod ตลอดเวลาไม่เป็นที่ยอมรับ ฉันต้องการโซลูชันที่ไม่เกี่ยวข้องกับ samba สำหรับ Steam บน Linux ดังนั้นฉันจึงสามารถแชร์ห้องสมุดระหว่างผู้ใช้ได้
Sam Watkins

2

ฉันรู้ว่านี่เป็นคำถามเก่า แต่เมื่อเร็ว ๆ นี้ฉันมีปัญหาที่คล้ายกันและนี่คือวิธีที่ฉันแก้ไข:

[หุ้น]
security mask = 0770
สร้างหน้ากาก = 0770
บังคับให้สร้างโหมด = 0660
comment = แซมบ้าแบ่งปันสำหรับไอที
path = / raid / share
เรียกดูได้ = ใช่
ผู้เข้าพักตกลง = ไม่
เขียนรายการ = รูท, @ "DOMAIN + it_nfs"
บังคับให้กลุ่ม = DOMAIN + it_nfs

เพื่อให้แน่ใจว่าผู้ใช้จะต้องอยู่ในกลุ่มความปลอดภัย "it_nfs" ใน AD ไฟล์ทั้งหมดจะถูกเขียนด้วยกลุ่ม "it_nfs" และไฟล์ทั้งหมดจะถูกเขียนอย่างน้อย 0660 และสูงสุด 0770 ต่อครั้ง การบังคับใช้ ID กลุ่มทำให้มั่นใจได้ว่าทุกคนในกลุ่มนั้นสามารถอ่าน / เขียนไฟล์ในส่วนแบ่งได้ มิฉะนั้นคุณจะจบลงด้วยสถานการณ์ที่ไฟล์ที่เขียนเป็น bob: bob ไม่สามารถเขียนโดย charlie: charlie แม้ว่าทั้งคู่จะอยู่ใน "it_nfs"


0

จากความเห็นของคำตอบที่ยอมรับแล้วจริงๆแล้วมันไม่ได้แก้ปัญหาของ OP และไม่ได้ทำคำตอบอื่น ๆ ถ้า OP เกิดขึ้นมีปัญหาเช่นเดียวกับฉัน:

มีการแบ่งใช้บนพาร์ติชัน NTFS / FAT

จำสิ่งนี้ไว้เมื่อเสียบเดสก์ท็อปดิสก์ของคุณเข้ากับ NAS เพื่อแชร์อัลบั้มครอบครัวของคุณ: ติดตั้ง paramsสำหรับผู้ใช้กลุ่มสร้างโหมด ฯลฯแทนที่สิ่งที่กำหนดค่าไว้สำหรับ Samba! ;)

(เช่นในกรณีของฉันไม่ว่าsmb.confทุกอย่างจะถูกสร้างขึ้นrootด้วย777- ตาม fstab defaultsสำหรับการเมาท์ฟิวส์ NTFS ... )

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.