Permita que varios usuarios instalen software usando homebrew

13

Instalé homebrew usando mi otra cuenta de usuario (que uso durante el trabajo), pero es imposible instalar software desde mi cuenta personal recién creada:

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

A ls -dl /usr/local/Cellar/muestra que el directorio es propiedad de mi otra cuenta de usuario.

¿Cómo configuro homebrew para permitir que varios usuarios instalen software?

Sridhar Ratnakumar
fuente
Puede tomar el control del otro usuario haciendosudo chown -R $(whoami) /usr/local
Nathan Lloyd

Respuestas:

13

establecido umaskpara cada usuario primero. (.basrc o .profile o .bash_profile)

umask 0002 # group write permission

luego otorgue permiso de escritura para grupos de forma /usr/localrecursiva

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

luego cambie el propietario a staff

sudo chgrp -R staff /usr/local

ahora, cada usuario, que está en el staffgrupo puede usar brew instally otras operaciones relacionadas con la elaboración de cerveza ... La mayoría de los usuarios están en ese grupo.

vigo
fuente
1
Tuve que hacer lo mismo para / Library / Caches / Homebrew para que esto realmente funcione. Y como todos mis usuarios tienen habilitado el acceso de administrador , me salté elchgrp
Duvrai
1

En el wiki de homebrew, menciona que puede instalarlo en cualquier lugar, intente tener instalaciones locales para cada usuario.

MatthewFord
fuente
No quiero eso, en realidad. Quiero que el software vaya a un lugar común independientemente de quién lo instaló.
Sridhar Ratnakumar
He intentado esto y ojalá lo hubiera hecho a medida que llegar en mal estado permisos de usuario
MatthewFord
1

En caso de que su cuenta tenga acceso su/ / root sudo, puede probar la siguiente solución:

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

sudo alternativa:

sudo -u myother_user_account brew install ...

Un práctico alias de shell (para .bashrc/ .zshrc/ ...):

alias brew="sudo -u myother_user_account brew"
Sridhar Ratnakumar
fuente
1
Esta no es una solución recomendada para el problema de múltiples usuarios. Requiere que los usuarios puedan tener acceso a la raíz y / o acceso directo para ejecutar comandos como otro usuario, lo que de alguna manera anula el propósito de tener privilegios de nivel de usuario en primer lugar. Puede romper el modelo para su propio caso de uso dado que posee la caja y ambas cuentas, pero sería desaconsejable para que otra persona use esto y su propio uso del sistema sería más seguro para usar separaciones de privilegios adecuadas.
Caleb
No estoy de acuerdo con que esto "no sea recomendado". Esta es una solución que requiere que el otro usuario tenga acceso root / sudo. Y si esto sucede en su caso específico, lo recomendaría totalmente. Intenté otras formas de administrar los permisos de Homebrew y fue una pesadilla. Permiso interminable negó errores, aunque juraría que hice todo como "recomendado".
cubuspl42