Izin adalah hama.
Pada dasarnya, Anda perlu memastikan bahwa semua pengembang tersebut dapat menulis ke semua yang ada di git repo.
Lewati ke The New-Wave Solution untuk metode unggul pemberian sekelompok kemampuan menulis pengembang.
Solusi Standar
Jika Anda menempatkan semua pengembang di grup yang dibuat khusus, Anda dapat, pada prinsipnya, lakukan saja:
chgrp -R <whatever group> gitrepo
chmod -R g+swX gitrepo
Kemudian ubah umask
untuk pengguna 002
, sehingga file baru dapat dibuat dengan izin grup-bisa ditulis.
Masalah dengan ini adalah legiun; jika Anda berada di sebuah distro yang mengasumsikan umask
dari 022
(seperti memiliki umum users
kelompok yang mencakup semua orang secara default), ini dapat membuka masalah keamanan di tempat lain. Dan cepat atau lambat, sesuatu akan mengacaukan skema izin Anda yang dibuat dengan hati-hati, membuat repo tidak aktif sampai Anda mendapatkan root
akses dan memperbaikinya (yaitu, menjalankan kembali perintah di atas).
Solusi Gelombang Baru
Solusi superior — meskipun kurang dipahami dengan baik, dan yang membutuhkan sedikit lebih banyak dukungan OS / alat — adalah dengan menggunakan atribut extended POSIX. Saya hanya datang ke daerah ini baru-baru ini, jadi pengetahuan saya di sini tidak sepanas mungkin. Tetapi pada dasarnya, ACL yang diperluas adalah kemampuan untuk mengatur izin pada lebih dari 3 slot default (pengguna / grup / lainnya).
Jadi sekali lagi, buat grup Anda, lalu jalankan:
setfacl -R -m g:<whatever group>:rwX gitrepo
find gitrepo -type d | xargs setfacl -R -m d:g:<whatever group>:rwX
Ini mengatur ACL yang diperluas untuk grup sehingga anggota grup dapat membaca / menulis / mengakses file apa pun yang sudah ada (baris pertama); kemudian, beri tahu semua direktori yang ada bahwa file baru harus memiliki ACL yang sama ini diterapkan (baris kedua).
Harapan yang membuat Anda di jalan.