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 ...Rozwiązaniem, którego używam, jest uruchomienie polecenia jako użytkownik, który ma uprawnienia, które chcesz zachować:
Dzięki temu uprawnienia się nie zmieniają. Używam go podczas aktualizacji repozytoriów git na moim VPS, jednocześnie zachowując uprawnienia do plików ustawione dla użytkownika serwera WWW.
Zobacz także to samo pytanie tutaj .
źródło