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 topdir
do wymuszenia umieszczenia pod nim wszystkich katalogów podrzędnych do http
zastosowania 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 http
zamiast zwykłej domyślnej grupy yuri
, ale będzie to działać tylko tak długo, jak pamiętasz, aby zrobić to newgrp
wcześ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ćgit
hak ...