Consentire a più utenti di installare software utilizzando homebrew


13

Ho installato homebrew usando l'altro mio account utente (che utilizzo durante il lavoro), ma è impossibile installare software dal mio account personale appena creato:

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

A ls -dl /usr/local/Cellar/mostra che la directory è di proprietà del mio altro account utente.

Come configuro homebrew per consentire a più utenti di installare software?


Puoi prendere il controllo dell'altro utente facendosudo chown -R $(whoami) /usr/local
Nathan Lloyd,

Risposte:


13

impostato prima umaskper ogni utente. (.basrc o .profile o .bash_profile)

umask 0002 # group write permission

quindi concedere l'autorizzazione di scrittura per i gruppi tramite /usr/localricorsivamente:

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

quindi cambia il proprietario in staff

sudo chgrp -R staff /usr/local

ora, ogni utente, che è nel staffgruppo, può usare brew installe altre operazioni relative alla birra ... Per lo più ogni utente è in quel gruppo.


1
Ho dovuto fare lo stesso per / Library / Caches / Homebrew per farlo funzionare davvero. E poiché tutti i miei utenti hanno abilitato l' accesso come amministratore, ho saltato ilchgrp
Duvrai il

1

Sul wiki homebrew, menziona che puoi installarlo ovunque, prova ad avere installazioni locali per ogni utente.


In realtà non lo voglio. Voglio che il software vada in un luogo comune indipendentemente da chi lo ha installato.
Sridhar Ratnakumar,

Ci ho provato e vorrei che non avessi avuto
problemi

1

Nel caso in cui il tuo account abbia root / su/ sudoaccess, puoi provare la soluzione seguente:

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

sudo alternativa:

sudo -u myother_user_account brew install ...

Un pratico alias di shell (per .bashrc/ .zshrc/ ...):

alias brew="sudo -u myother_user_account brew"

1
Questa non è una soluzione consigliata al problema di più utenti. Richiede che gli utenti siano in grado di disporre dell'accesso root e / o dell'accesso diretto per eseguire comandi come un altro utente che in qualche modo sconfigge lo scopo di disporre in primo luogo dei privilegi a livello di utente. Puoi rompere il modello per il tuo caso d'uso dato che sei il proprietario della scatola e di entrambi gli account, ma sarebbe sconsigliato che chiunque lo utilizzasse e il tuo uso del sistema sarebbe più sicuro per l'uso di separazioni dei privilegi appropriate.
Caleb,

Non sono d'accordo sul fatto che questo non sia "non raccomandato". Questa è una soluzione che richiede all'altro utente di avere accesso root / sudo. E se ciò dovesse accadere nel tuo caso specifico, lo consiglierei assolutamente. Ho provato altri modi per gestire i permessi di Homebrew ed è stato un incubo. L'autorizzazione senza fine ha negato gli errori, anche se giuro che ho fatto tutto come "raccomandato".
cubuspl42
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.