Umożliwiaj wielu użytkownikom instalację oprogramowania za pomocą Homebrew

13

Zainstalowałem homebrew przy użyciu mojego innego konta użytkownika (z którego korzystam podczas pracy), ale nie mogę zainstalować oprogramowania z mojego nowo utworzonego konta osobistego:

$ brew install unrar
Error: Cannot write to /usr/local/Cellar

A ls -dl /usr/local/Cellar/pokazuje, że katalog jest własnością mojego innego konta użytkownika.

Jak skonfigurować Homebrew, aby umożliwić wielu użytkownikom instalację oprogramowania?

Sridhar Ratnakumar
źródło
Możesz przejąć kontrolę od drugiego użytkownika, wykonującsudo chown -R $(whoami) /usr/local
Nathan Lloyd

Odpowiedzi:

13

ustawione umaskdla każdego użytkownika w pierwszej kolejności. (.basrc lub .profile lub .bash_profile)

umask 0002 # group write permission

następnie daj grupom uprawnienia do zapisu poprzez /usr/localrekursywnie:

sudo chmod -R g+w /usr/local/

następnie zmień właściciela na staff

sudo chgrp -R staff /usr/local

teraz każdy użytkownik, który jest w staffgrupie, może korzystać z brew installinnych operacji związanych z zaparzaniem ... Przeważnie każdy użytkownik należy do tej grupy.

Vigo
źródło
1
Musiałem zrobić to samo dla / Library / Caches / Homebrew, aby to faktycznie działało. A ponieważ wszyscy moi użytkownicy mają włączony dostęp administratora , pominąłemchgrp
Duvrai
1

Na wiki homebrew wspomniano, że możesz zainstalować go gdziekolwiek, spróbuj zainstalować lokalne dla każdego użytkownika.

MatthewFord
źródło
Właściwie to nie chcę. Chcę, aby oprogramowanie poszło do wspólnego miejsca, niezależnie od tego, kto go zainstalował.
Sridhar Ratnakumar
Próbowałem tego i chcą nie miałem jak masz pomieszane uprawnienia użytkownika
MatthewFord
1

Jeśli twoje konto ma uprawnienia root / su/ sudo, możesz spróbować zastosować następujące obejście:

su - myother_user_account -c "brew install ..."

sudo alternatywny:

sudo -u myother_user_account brew install ...

Przydatny alias powłoki (dla .bashrc/ .zshrc/ ...):

alias brew="sudo -u myother_user_account brew"
Sridhar Ratnakumar
źródło
1
To nie jest zalecane rozwiązanie problemu wielu użytkowników. Wymaga, aby użytkownicy mieli dostęp do roota i / lub bezpośredni dostęp do uruchamiania poleceń jako inny użytkownik, co w pewnym sensie nie pozwala na uzyskanie uprawnień na poziomie użytkownika. Możesz zepsuć model dla własnego przypadku użycia, biorąc pod uwagę, że posiadasz pudełko i oba konta, ale nie byłoby polecane, aby ktokolwiek inny z niego korzystał, a korzystanie z własnego systemu byłoby bezpieczniejsze dla korzystania z właściwego rozdziału uprawnień.
Caleb
Nie zgadzam się, że jest to „niezalecane”. To rozwiązanie wymaga, aby drugi użytkownik miał dostęp do roota / sudo. A jeśli tak się stanie w twoim konkretnym przypadku, poleciłbym to całkowicie. Próbowałem innych sposobów zarządzania uprawnieniami Homebrew i to był koszmar. Niekończące się uprawnienia odmówiły błędów, chociaż przysięgam, że zrobiłem wszystko, co było „zalecane”.
cubuspl42,