Przez ponad rok miałem kłopoty z GIT i uprawnieniami katalogu/pliku. Mam centralne repozytorium, do którego wielu programistów wysyła kod, używając ssh (początek ustawiony jako ssh: // example/git/repository). Po ustawieniu się repozytorium następująco:Własność/grupa plików zmienia się, gdy użytkownicy przesyłają do repozytorium GIT
1) My plik konfiguracyjny w centralnym repozytorium [rdzeń] repositoryformatversion = 0 FileMode = prawda nagie = prawda sharedrepository = 0660
2) wszystkich Uprawnienia do katalogu repozytorium są ustawione na 770 (rwxrwx ---) 3) Wszystkie pliki w ./objects/XX i ./objects/info są ustawione na 440 (r - r -----) 4) Wszystkie inne pliki są ustawione na 660 (rw-rw ----) 5) Własność jest ustawiona na root: nazwa_grupy
(należy zwrócić uwagę, że pochodzi z zalecanej konfiguracji z najwyższej odpowiedzi w tym wątku: Making git push respect permissions?)
Wszyscy uzyskujący dostęp użytkownicy są członkami grupy "nazwa_grupy".
Problem polega na tym, że jeśli użytkownik 1 przesuwa się do repozytorium, własność pliku w niektórych plikach jest ustawiana na wartość użytkownik1: użytkownik1 - co oznacza, że grupa została zmieniona. Kiedy to nastąpi, żaden inny użytkownik nie może wypychać (lub wyciągać) z repozytorium, ponieważ nie ma już uprawnień do odczytu, zapisu lub wykonywania z wymaganych plików w repozytorium.
Przeczytałem każdy wątek, jaki mogę znaleźć odnośnie tej sprawy w Stack Overflow i prawie wszędzie w sieci, ale ciągle napotykam ten sam problem.
Problem polega na tym, nie jestem pewien, czy ten problem jest jednym z GIT, czy jednym z UNIX, i nie jestem pewien, jak to naprawić. Jak mogę zatrzymać zmianę grupy, gdy użytkownik przesuwa się do repozytorium?
Jak ... Ty naciskasz? Z jakimi uprawnieniami użytkownika to robisz? – Makoto
Przesyłanie za pomocą: git push Przesuwamy przez ssh. Każdy użytkownik ściąga na serwer za pomocą swojego konta użytkownika UNIX. Na przykład, jestem użytkownikiem shiro na serwerze. Dane logowania używane dla SSH są dla użytkownika shiro. Użytkownik shiro jest częścią grupy shirogroup. Właścicielem pliku jest root: shirogroup. Czy to odpowiada na twoje pytanie? – Shiro
Mam suphp na moim serwerze - czy to możliwe, że to zmienia moje uprawnienia do plików, a nie GIT? – Shiro