instalar - Cómo usar Homebrew en una instalación multiusuario de MacOS Sierra
install brew mac sierra (5)
Hombrew instala paquetes en /usr/local
, no hay nada que puedas hacer al respecto sin romper muchos de los paquetes que instala. Agregue permisos de lectura y escritura para todos los usuarios como este:
sudo chmod -R +rw /usr/local
Tenga en cuenta que, dado que esta es una carpeta del sistema, todos los usuarios compartirán la misma instalación de brew. Un usuario puede eliminar los paquetes que otros han instalado, y así sucesivamente. Así que asegúrese de coordinar para evitar problemas.
Tengo una Mac que se comparte entre dos ingenieros. Ambos tienen cuentas de usuario separadas. Ambos necesitan ejecutar brew update
y brew install...
ocasionalmente.
¿Cómo configuro esto sin obtener errores como: /usr/local must be writable!
?
Sí, podría hacer que UserA
haga cargo de los permisos de /usr/local
cada vez que quiera usar brew (y lo mismo con UserB
), pero eso parece ser un problema innecesario.
La mejor solución es agregar un registro sudoers para permitir que el usuario sin privilegios ''joe'' ejecute cualquier comando relacionado con ''brew'' como usuario administrativo.
Cree un archivo en /etc/sudoers.d/joe con el siguiente contenido:
joe ALL=(administrator) NOPASSWD: /usr/local/bin/brew
Entonces puedes hacer una cerveza como esta:
sudo -Hu administrator brew install <smth>
Las soluciones anteriores no funcionaron para mí. Pero ejecutar el siguiente comando funcionó para mí.
sudo chown -R $(whoami) $(brew --prefix)/*
Fuente: https://github.com/Homebrew/brew/issues/3228#issuecomment-333858695
Lo anterior funciona bien, pero si desea que los archivos nuevos hereden automáticamente esos permisos, establezca una ACL que se hereda (de lo contrario, solo el usuario que vierte una botella puede eliminarla). Consejos encontrados sobre cómo hacer esto aquí: https://gist.github.com/nelstrom/4988643
Como root
ejecuta una vez (asumiendo que todos los usuarios del grupo "admin" deberían tener acceso):
cd /usr/local
chmod -R +a "group:admin allow list,add_file,search,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,file_inherit,directory_inherit" *
chgrp -R admin *
chmod -R g+rwX *
ls -lae .
el -e
en ls
muestra ACLs.
También puede cambiar los permisos de grupo a administrador u otro grupo en el que ambos usuarios estén:
chgrp -R admin /usr/local
chmod -R g+w /usr/local
Fuente original: https://gist.github.com/jaibeee/9a4ea6aa9d428bc77925
ACTUALIZAR:
En macOS High Sierra no puede cambiar el propietario, el grupo o los permisos de /usr/local
. Así que tienes que cambiar el grupo y los permisos de las subcarpetas:
chgrp -R admin /usr/local/*
chmod -R g+w /usr/local/*
ACTUALIZACIÓN Septiembre 2018, Sierra Alta 10.13.6.
- Determine la ruta del prefijo de preparación, es decir. la ruta que se utilizará para almacenar archivos relacionados con el trabajo con homebrew
- Verifique que todos los usuarios en el sistema que necesitan acceso a
brew
estén en el grupo de administradores - Opcional Agregue un usuario al grupo de administración si un usuario necesita acceso a brew
Requerirá acceso / privilegios para usar el comando sudo
- Establezca la ruta del prefijo de preparación para ser recursivamente propiedad del grupo de administración
- Establezca la ruta del prefijo de preparación para que todos los usuarios que estén en el grupo de administradores puedan escribir de forma recursiva
- Verificar los permisos del prefijo de elaboración.
- elaborar 🍻
echo $(brew --prefix)
echo $(groups $(whoami))
sudo dseditgroup -o edit -a $(whoami) -t user admin
sudo chgrp -R admin $(brew --prefix)
sudo chmod -R g+rwX $(brew --prefix)
ls -lah $(brew --prefix)