Wygląda na to, że prowadzony użytkownik ma domyślną grupę ustawioną na yuri. Możesz to potwierdzić w następujący sposób:
$ id -a
uid=1000(saml) gid=1000(saml) groups=1000(saml),10(wheel),989(wireshark)
Identyfikator UID Twojego konta jest następujący: uid=1000(saml)podczas gdy domyślną grupą jest, git=1000(saml)a następnie wszystkie grupy drugorzędne.
UWAGA: Jeśli chcesz, aby klon git miał określoną własność, masz co najmniej 2 opcje.
Opcja 1
Ustaw katalog nadrzędny z uprawnieniami tak, jak chcesz:
$ mkdir topdir
$ chgrp http topdir
$ chmod g+s topdir
$ cd topdir
$ git clone ....
Zmusiło to katalog topdirdo wymuszenia umieszczenia pod nim wszystkich katalogów podrzędnych do httpzastosowania grupy . Będzie to działać w dużej mierze, ale może powodować problemy, ponieważ jeśli przeniesiesz pliki do tego obszaru roboczego klonowania git, te pliki nie będą wymuszane przez swoje grupy za pomocą powyższych zmian.
Opcja 2
Przed rozpoczęciem pracy zmień domyślną grupę, aby http:
$ newgrp http
$ git clone ...
Ta metoda wymusi na utworzeniu nowych plików, aby ich grupa była ustawiona na httpzamiast zwykłej domyślnej grupy yuri, ale będzie to działać tylko tak długo, jak pamiętasz, aby zrobić to newgrpwcześniej przed pracą w tym obszarze roboczym.
Inne opcje
Jeśli żaden z nich nie wydaje się akceptowalny, możesz spróbować użyć list ACL zamiast w katalogu obszaru roboczego git. Zostały one omówione w wielu pytaniach i odpowiedziach na tej stronie, takich jak pytania i odpowiedzi zatytułowane: Pobieranie nowych plików w celu dziedziczenia uprawnień grupy w systemie Linux .
newgrp. Czy zatem zmienia grupę tylko dla bieżącej powłoki? I wreszcie chodziło o to, aby tylko określone pliki / katalogi były dostępne do zapisu przez serwer WWW. W końcu prawdopodobnie powinienem je naprawić ręcznie lub ustawićgithak ...