2012-10-20 11 views
9

Musisz uniemożliwić rootowi aktualizowanie katalogu git (roboczego). Rozumowanie obejmuje między innymi: zapobieganie niepotrzebnym zmianom własności systemu plików.Jak zapobiec uruchamianiu git przez root?

Żadne z haków git nie wydaje się, aby uniemożliwić pobranie/scalenie/przeciągnięcie zanim do tego dojdzie, podobnie do haka przed zatwierdzeniem. A przynajmniej nic nie widzę tutaj (ani na stronie podręcznika): http://www.analysisandsolutions.com/code/git-hooks-summary-cheat-sheet.htm

Myśli?

+4

* "zapobiec rootowi [...]" * - Nie sądzę, że to możliwe. – poke

+0

Dlaczego? Jaki jest rzeczywisty problem, którego próbujesz uniknąć? Jeśli próbujesz zapobiec przechowywaniu plików w repozytorium przez root, nie ciągnij, gdy jesteś zalogowany jako root. – meagar

+1

@meagar Już to robię. Niestety, w środowisku zespołowym, gdzie wiele osób ma dostęp do root/sudo. Chcą specjalnie odstraszać ludzi od logowania się jako root i nieumyślnie zmieniając rzeczy, których nie powinni. Czasami ludzie zapominają o starych nawykach (zwykle wymagaliśmy aktualizacji rootów dla root/sudo, ale już nie), logujemy się jako root i robimy rzeczy, których nie powinni. –

Odpowiedz

4

Jedynym sposobem Widziałem ten problem nie zostanie rozwiązany, ale przynajmniej „złagodzony” był przez otoczka do polecenia git:

Wszystkie polecenia git przejść przez ten owijki, która zachodzi, jeśli identyfikator użytkownika nie jest root.

8

Zmień /root/.bashrc, aby dodać nowy katalog na początek PATH. Dodaj skrypt powłoki o nazwie git, który testuje $1 jako jedno z kilku poleceń tylko do odczytu (show/status/log/rev-list itp.) I wywołuje /usr/bin/git "[email protected]", jeśli polecenie jest akceptowalne. Zapobiegnie to przypadkowemu uruchomieniu git pull jako root. Jeśli martwisz się, że robią to celowo, masz większe problemy ...

+5

Co lepsze, polecenie to po prostu wydrukuj komunikat o błędzie, taki jak "Nie uruchamiaj git jako root". –

+2

W moim przypadku to kierownik mojego działu, który ciągle robi "sudo su", kiedy nie ma pozwolenia na coś. Potem robi git pull i podkręca moje pliki. Chcę tylko komunikat o błędzie dla dowolnego polecenia git, które mówi "Nigdy nie uruchamiaj poleceń git jako root! Przestań zepsuć moje uprawnienia do plików!" – Mnebuerquo

Powiązane problemy