Ini terdengar seperti pengguna yang Anda jalankan memiliki set grup default yuri. Anda dapat mengkonfirmasi seperti ini:
$ id -a
uid=1000(saml) gid=1000(saml) groups=1000(saml),10(wheel),989(wireshark)
UID akun Anda adalah ini: uid=1000(saml)sedangkan grup default adalah git=1000(saml)dan semua grup sekunder sesudahnya.
CATATAN: Jika Anda ingin git clone memiliki kepemilikan spesifik, maka Anda memiliki setidaknya 2 opsi.
Pilihan 1
Atur direktori induk dengan izin seperti yang Anda inginkan seperti:
$ mkdir topdir
$ chgrp http topdir
$ chmod g+s topdir
$ cd topdir
$ git clone ....
Ini memaksa direktori topdiruntuk menegakkan direktori anak apa pun di bawahnya agar grup httpditerapkan. Ini akan bekerja secara luas tetapi dapat menyebabkan masalah, karena jika Anda memindahkan file ke ruang kerja klon git ini, file-file itu tidak akan memiliki kelompok mereka ditegakkan oleh perubahan yang dibuat di atas.
Pilihan 2
Sebelum melakukan pekerjaan, ubah grup default Anda menjadi httpseperti itu:
$ newgrp http
$ git clone ...
Metode ini akan memaksa semua file baru yang dibuat untuk mengatur grup mereka httpalih-alih grup standar normal Anda yuri, tetapi ini hanya akan berfungsi selama Anda ingat untuk melakukan newgrpsebelum bekerja di ruang kerja ini.
Pilihan lain
Jika tak satu pun dari ini tampaknya dapat diterima, Anda dapat mencoba menggunakan ACL sebagai gantinya di direktori work git. Ini dibahas dalam beberapa Tanya Jawab di situs ini, seperti dalam Tanya Jawab yang berjudul: Mendapatkan file baru untuk mewarisi izin grup di Linux .
newgrp. Lalu, apakah itu mengubah grup hanya untuk shell saat ini? Dan terakhir, intinya adalah membuat hanya file / direktori tertentu yang dapat diakses oleh server web. Bagaimanapun, saya mungkin harus memperbaikinya secara manual, atau mengatur beberapagitkait ...