ฉันมีไดเรกทอรีที่แน่นอนซึ่งมีโครงการที่แบ่งใช้โดยผู้ใช้หลายคน ผู้ใช้เหล่านี้ใช้ SSH เพื่อเข้าถึงไดเรกทอรีนี้และแก้ไข / สร้างไฟล์
โปรเจ็กต์นี้ควรเขียนได้สำหรับผู้ใช้บางกลุ่มเท่านั้น: ให้เรียกมันว่า "mygroup" ในระหว่างเซสชัน SSH ไฟล์ / ไดเรกทอรีทั้งหมดที่สร้างโดยผู้ใช้ปัจจุบันควรเป็นค่าเริ่มต้นโดยกลุ่ม "mygroup" และมีสิทธิ์ในการเขียนกลุ่ม
ฉันสามารถแก้ปัญหาการอนุญาตด้วยumask
:
$ cd project
$ umask 002
$ touch test.txt
ไฟล์ "test.txt" สามารถเขียนเป็นกลุ่มได้ แต่ยังคงเป็นกลุ่มเริ่มต้นของฉัน ("mislav" เหมือนกับชื่อผู้ใช้ของฉัน) และไม่ใช่ "mygroup" ฉันสามารถchgrp
ตั้งกลุ่มที่ต้องการซ้ำ แต่ฉันต้องการที่จะรู้ว่ามีวิธีการตั้งกลุ่มบางอย่างโดยนัยเช่น umask การเปลี่ยนแปลงสิทธิ์เริ่มต้นในช่วงเซสชั่น
ไดเรกทอรีเฉพาะนี้เป็น repo git ที่ใช้ร่วมกันกับสำเนาการทำงานและฉันต้องการgit checkout
และgit reset
การดำเนินงานเพื่อตั้งค่ารูปแบบที่ถูกต้องและกลุ่มสำหรับไฟล์ใหม่ที่สร้างขึ้นในสำเนาการทำงาน ระบบปฏิบัติการคือ Ubuntu Linux
อัปเดต:เพื่อนร่วมงานแนะนำว่าฉันควรมองหา getfacl / setfacl ของPOSIX ACLแต่วิธีแก้ไขด้านล่างเมื่อรวมกับumask 002
ในเซสชันปัจจุบันนั้นดีพอสำหรับฉันและง่ายกว่ามาก