Wiele lat temu można było uciec od działania brewjako root po prostu przez chownowanie brewdo rootowania , ale usunęli tę funkcję. Więc w Homebrew 1.1.6 edytowałem, /usr/local/Homebrew/Library/Homebrew/brew.shaby usunąć kontrolę roota (tę, która powiedziała, że jest „bardzo niebezpieczna”), aby móc uruchomić brewjako root.
Nowsza wersja Homebrew nadal z tym współpracuje, ale wciąż przywraca brew.shplik za każdym razem po uruchomieniu brew, nawet jeśli chmod 500to robię . Mógłbym napisać skrypt, aby go zmienić, a następnie uruchomić brewautomatycznie, ale nie jestem pewien, czy to zawsze zadziała i nie chcę ryzykować. Czy ktoś znalazł inną metodę uruchamiania Homebrew jako root?
sudouruchamia go jako root i daje mi ten sam „bardzo niebezpieczny” błąd. Chcę uruchomić jako root, ponieważ w przeciwnym razie ma problemy z instalacją niektórych pakietów, zwłaszcza jeśli cokolwiek nie zostało zainstalowane przez Homebrew (np. Przez pip). Wiele razy zszedłem tą drogą. Ponadto nie działa poprawnie dla wielu użytkowników bez dziwnych obejść, chyba że zainstaluję wszystko jako root.
rootjest ryzykowne. Nawet budując pakiet bez menedżera pakietów, skompilowałbyś go jako użytkownik nieuprzywilejowany (sam), a następnie zainstalowałeś pakiet jak w rootprzypadku sudo. Menedżerowie pakietów, tacy jak Fink i MacPorts, budują z własnymi użytkownikami nieuprzywilejowanymi, a następnie instalują jako root. Homebrew nie ma takiego mechanizmu.
brew.shplik jest przywracany po zmodyfikowaniu go, a następnie uruchomieniu brewpolecenia. Więc mogę uruchomić sudo brew whateveri brew whateverw tandemie dobrze. Moje brew --versiondane wyjściowe to: Homebrew 1.2.1-98-g803f9cbf7b-dirty Homebrew/homebrew-core (git revision d3d6; last commit 2017-05-28) FYI, zmodyfikowałem mój brew.shplik, aby skomentować wszystkie wiersze w check-run-command-as-rootfunkcji i returnzamiast tego umieściłem pojedynczą instrukcję na górze funkcji.
brewjako root? Czy teżsudonie wystarcza do twoich celów?