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 topdir
untuk menegakkan direktori anak apa pun di bawahnya agar grup http
diterapkan. 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 http
seperti itu:
$ newgrp http
$ git clone ...
Metode ini akan memaksa semua file baru yang dibuat untuk mengatur grup mereka http
alih-alih grup standar normal Anda yuri
, tetapi ini hanya akan berfungsi selama Anda ingat untuk melakukan newgrp
sebelum 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 beberapagit
kait ...