ให้สิทธิ์การเขียนเริ่มต้นเพื่อจัดกลุ่มไฟล์และโฟลเดอร์ที่สร้างขึ้นใหม่


15

สมมติว่าเรามีผู้ใช้ 2 คน: a และ b ซึ่งเป็นส่วนหนึ่งของกลุ่มทั่วไป

ฉันต้องการไฟล์หรือโฟลเดอร์ใด ๆ ที่ A สร้างขึ้นจะมีสิทธิ์เขียนไปยังกลุ่ม GENERAL

ฉันจะทำมันได้อย่างไร

ตัวอย่างเช่นไฟล์ที่สร้างขึ้นใหม่ถูกตั้งค่าเป็น:

-rw-r--r-- 1 a general

สิ่งนี้ไม่ให้สิทธิ์ในการเขียนแก่กลุ่มทั่วไป


คุณอาจสนใจคำตอบนี้: stackoverflow.com/questions/3175303/…
Gavriel

2
ฉันไม่ต้องการที่จะทำจาก Java นี่ไม่ใช่วิธีที่ถูกต้องที่จะทำมัน
Dejel

"ฉันไม่ต้องการทำจาก Java นี่ไม่ใช่วิธีที่ถูกต้องในการทำ" นั่นเกือบจะเป็นคำพูดเชิงปรัชญา ใช้ได้กับทุกที่ ...
GargantuChet

คำตอบ:


15

ใช่คุณสามารถเปลี่ยนสิ่งumaskนั้นได้ การumaskพิจารณาซึ่งเป็นสิทธิ์เริ่มต้นสำหรับไฟล์ที่เพิ่งทำใหม่

คุณสามารถเพิ่มumask g+wในตอนท้ายของไฟล์กำหนดค่าเชลล์ของคุณ ( ~/.bashrcตัวอย่าง)

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

สิ่งที่คุณสามารถทำแทนคือทำให้ทุกไฟล์ที่สร้างขึ้นใหม่ของที่เฉพาะเจาะจงที่สามารถเขียนได้ไดเรกทอรีโดยกลุ่ม คุณสามารถทำสิ่งนี้จัดการ ACL ของไดเรกทอรี ตัวอย่างเช่นsetfacl -dm u::rw,g::rw,o::r ~/shared.

ดูที่โพสต์เหล่านั้นสำหรับการอ้างอิง: /server/349145/can-i-override-my-umask-using-acls-to-make-all-files-created-in-a-given-directorและ/programming/580584/setting-default-permissions-for-newly-created-files-and-sub-directories-under-a


ถ้าฉันไม่รู้ว่าไดเรกทอรีจะเป็นอย่างไร สมมุติว่าฉันมีโฟลเดอร์ทดสอบ ไฟล์ทั้งหมดที่ A สร้างจะอยู่ภายใต้การทดสอบ อย่างไรก็ตามเขาสามารถสร้างโฟลเดอร์ 20130515 และภายใต้มันเพื่อค้นหาไฟล์ที่สร้างขึ้นใหม่ ดังนั้นจึงควรจะเป็นสำหรับไฟล์ใด ๆ และโฟลเดอร์ที่ถูกสร้างขึ้นภายใต้โฟลเดอร์ซ้ำ TEST
Dejel

2
ACL เริ่มต้นสืบทอดไปยังไดเรกทอรีย่อยใหม่และนำไปใช้กับไฟล์ที่สร้างในไดเรกทอรีเหล่านั้น ดังนั้นหากคุณ/srv/TESTตั้งค่า ACL เริ่มต้นในไดเรกทอรีนั้นแล้วเมื่อ/srv/TEST/20130515มันจะมี ACL เริ่มต้นเดียวกันกับไดเรกทอรีหลัก
Bratchley

มันอาจเป็นความคิดที่ดีที่จะเรียกใช้sudo chmod g+s [dir]ดังนั้นไฟล์จะถูกครอบครองโดยกลุ่ม
linuxgnuru
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.