Bu, çalıştırdığınız kullanıcının varsayılan grubu olarak ayarlanmış gibi görünüyor yuri
. Bunu şu şekilde onaylayabilirsiniz:
$ id -a
uid=1000(saml) gid=1000(saml) groups=1000(saml),10(wheel),989(wireshark)
Hesabınızın UID'si şudur: uid=1000(saml)
oysa varsayılan grup git=1000(saml)
ve ikincil gruplar daha sonradır.
NOT: git klonunun belirli bir sahipliğe sahip olmasını istiyorsanız, en az 2 seçeneğiniz vardır.
Seçenek 1
İzinleri istediğiniz şekilde bir üst dizin ayarlayın:
$ mkdir topdir
$ chgrp http topdir
$ chmod g+s topdir
$ cd topdir
$ git clone ....
Bu, dizini topdir
altındaki tüm alt dizinleri grubun http
uygulanmasını zorunlu kılmaya zorladı . Bu büyük ölçüde işe yarayacak, ancak sorunlara yol açabilir, çünkü dosyaları bu git klon çalışma alanına taşırsanız, bu dosyalar gruplarında yukarıda yapılan değişikliklerle zorlanmaz.
Seçenek 2
İş yapmadan önce varsayılan grubunuzu aşağıdaki http
gibi değiştirin :
$ newgrp http
$ git clone ...
Bu yöntem, oluşturulan yeni dosyaların gruplarını http
varsayılan varsayılan grubunuz yerine ayarlamaya zorlar yuri
, ancak bu yalnızca newgrp
bu çalışma alanında çalışmadan önce yapmayı hatırladığınız sürece çalışır .
Diğer seçenekler
Bunların hiçbiri kabul edilebilir görünmüyorsa, git çalışma alanı dizininde bunun yerine ACL'leri kullanmayı deneyebilirsiniz. Bunlar, bu sitede şu soru-cevap bölümünde olduğu gibi bu sitedeki birden çok Soru ve Cevap bölümünde tartışılmıştır: Linux'ta grup izinlerini devralmak için yeni dosyalar alma .
newgrp
. Peki, sadece geçerli kabuk için grup değiştiriyor mu? Ve son olarak, amaç sadece belirli dosyaları / dizinleri web sunucusu tarafından yazmak için erişilebilir kılmaktı. Sonuçta, muhtemelen bunları manuel olarak düzeltmeliyim veya birgit
kanca ayarlamalıyım ...