usuario sierra mac instalar high desde crear administrador macos permissions homebrew multi-user

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>



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.

  1. Determine la ruta del prefijo de preparación, es decir. la ruta que se utilizará para almacenar archivos relacionados con el trabajo con homebrew
  2. Verifique que todos los usuarios en el sistema que necesitan acceso a brew estén en el grupo de administradores
  3. Opcional Agregue un usuario al grupo de administración si un usuario necesita acceso a brew

    Requerirá acceso / privilegios para usar el comando sudo

  4. Establezca la ruta del prefijo de preparación para ser recursivamente propiedad del grupo de administración
  5. 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
  6. Verificar los permisos del prefijo de elaboración.
  7. 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)