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?


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.


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.


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"

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,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.