Berikan izin tulis default untuk dikelompokkan ke file dan folder yang baru dibuat

15

Katakanlah kita memiliki 2 pengguna: a dan b, yang merupakan bagian dari grup umum.

Saya ingin file atau folder apa pun yang dibuat A, akan memiliki izin menulis ke grup UMUM.

Bagaimana saya bisa melakukannya?

Misalnya, file yang baru dibuat diatur sebagai:

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

Ini tidak memberikan izin tertulis kepada grup umum

Dejel
sumber
Anda mungkin tertarik dengan jawaban ini: stackoverflow.com/questions/3175303/…
Gavriel
2
Saya tidak ingin melakukannya dari Jawa. Ini bukan cara yang tepat untuk melakukannya
Dejel
"Aku tidak mau melakukannya dari Jawa. Ini bukan cara yang tepat untuk melakukannya." Itu hampir merupakan pernyataan filosofis. Ini berlaku di mana-mana ...
GargantuChet

Jawaban:

15

Ya, Anda bisa melakukan itu dengan mengubah umask. The umaskmenentukan adalah hak akses default untuk file yang baru creted.

Anda dapat menambahkan umask g+wdi akhir file konfigurasi shell Anda ( ~/.bashrcmisalnya).

Tetapi sebenarnya, ini bukan praktik yang direkomendasikan. Jika Anda ingin memastikan integritas file dan Anda lupa untuk memperbarui izin file, itu akan dapat dimodifikasi oleh grup. Itu bertentangan dengan prinsip keamanan "nilai awal aman".

Yang dapat Anda lakukan adalah membuat semua file yang baru dibuat dari direktori tertentu dapat ditulis oleh grup. Anda dapat melakukan ini dengan memanipulasi ACL direktori. Sebagai contoh setfacl -dm u::rw,g::rw,o::r ~/shared,.

Lihatlah tulisan-tulisan itu untuk referensi: /server/349145/can-i-override-my-umask-using-acls-to-make-all-files-created-in-a-given-director dan /programming/580584/setting-default-permissions-for-newly-created-files-and-sub-directories-under-a .

lororget
sumber
Bagaimana jika saya tidak tahu akan seperti apa direktori itu? Karena katakanlah saya punya folder TEST. Semua file yang dibuat A akan berada di bawah TEST. Namun, ia dapat membuat folder 20130515 dan di bawahnya untuk mencari file yang baru dibuat. jadi seharusnya untuk file dan folder apa pun yang dibuat secara rekursif di bawah folder TEST
Dejel
2
ACL bawaan mewarisi ke subdirektori baru dan berlaku untuk file yang dibuat di direktori tersebut. Jadi jika Anda telah /srv/TESTmenetapkan ACL default pada direktori itu maka ketika /srv/TEST/20130515itu akan memiliki ACL default yang sama dengan direktori induk.
Bratchley
Mungkin juga ide yang baik untuk dijalankan sudo chmod g+s [dir]sehingga file akan dimiliki oleh grup
linuxgnuru