คำถามของฉันคล้ายกับ วิธีการตั้งค่าการอนุญาตไฟล์เริ่มต้นในไฟล์ที่สร้างขึ้นใหม่ทั้งหมดใน linux - แต่แตกต่างกันในวิธีสำคัญ:
ฉันต้องการไฟล์ทั้งหมดที่สร้างขึ้นใน (หรือคัดลอกไปยังหรือย้ายไป) ไดเรกทอรีบางอย่างเพื่อสืบทอดชุดของการอนุญาตเริ่มต้นที่แตกต่างจากค่าเริ่มต้นระบบ
เหตุผล: ไดเรกทอรีที่เป็นปัญหาคือ "ช่องป้อนข้อมูล" สำหรับแอปพลิเคชัน ผู้ใช้ในไฟล์สถานที่กลุ่มในไดเรกทอรีและแอป (ทำงานภายใต้รหัสผู้ใช้อื่นในกลุ่มเดียวกัน) นำพวกเขาและประมวลผลพวกเขา ปัญหาคือเจ้าของไฟล์แต่ละไฟล์ที่วางในไดเรกทอรีคือผู้ใช้ที่วางไว้ที่นั่นและการอนุญาตจะเริ่มต้นเป็น "rw-r - r--" ฉันต้องการเปลี่ยนเป็น "rw-rw ----" แอปที่ใช้งานไอดีไม่สามารถทำได้อย่างชัดเจนเพราะ ID ผู้ใช้ที่แอพกำลังทำงานอยู่ไม่ได้เป็นเจ้าของไฟล์ที่เป็นปัญหาและการอนุญาตเริ่มต้นไม่อนุญาตให้แอป chmod บนไฟล์! เห็นได้ชัดว่าผู้ใช้สามารถทำ chmod หลังจากวางไฟล์ที่นั่น - แต่ฉันต้องการที่จะให้ "ลดลง" โดยผู้ใช้ที่ง่ายที่สุด (ผู้คนเหล่านี้ไม่ได้รู้ลินุกซ์พวกเขาเพียงแค่ลากและวางไฟล์จากเดสก์ท็อป windows ของพวกเขาไปยังเครือข่าย (Samba) เครือข่าย - นั่นคือพวกเขาไม่รู้ด้วยซ้ำว่าพวกเขากำลังโต้ตอบกับระบบ Linux
umask ดูเหมือนว่าทรงพลังเกินไป: ฉันไม่ต้องการตั้งค่าการอนุญาตเริ่มต้นสำหรับทุกไฟล์ที่สร้างโดยผู้ใช้เหล่านี้ - เฉพาะที่สร้างใน (หรือวางไว้ใน) ไดเรกทอรีนี้
กรุณาแนะนำ ... ขอบคุณ!
acl
เป็นตัวเลือกในmount
คำสั่งเมื่อคุณมีมันเข้ามา/etc/fstab
. มันจะซ้ำซ้อนและเมื่อคุณเรียกใช้mount
คำสั่งในคำตอบของคุณคุณจะได้ผลลัพธ์เช่นนี้/dev/vda1 on / type ext4 (rw,errors=remount-ro,acl,acl)
(ดูacl,acl
ในที่สุด) โปรดแก้ไขให้ถูกถ้าฉันไม่ผิด