Permisos de Homebrew y múltiples usuarios que necesitan actualizar

Estoy usando Homebrew para administrar las instalaciones del package en Lion (Lion Server en realidad, pero esto no debería importar) .

Homebrew se instaló con un usuario. Ahora un usuario diferente desea agregar un package y Homebrew no está contento:

$ brew update fatal: Unable to create '/usr/local/.git/index.lock': Permission denied Error: Failure while executing: git checkout -q master 

¿Esto es considerado malo? Pensé que una de las ventajas de usar /usr/local/ para sus instalaciones era que no necesita sudo . Pero claramente lo hacemos.

Todos los usuarios que necesitarían modificar Homebrew son miembros del grupo de administración . Entonces, ¿podría chmod -R g+w /usr/local/ pero temo que esto borrará algo o creará problemas de security?!?

¿Consejo?

 $ ls -al /usr/local/.git/ total 432 drwxr-xr-x 14 ladmin admin 476 Feb 24 11:48 . drwxrwxr-x 14 root admin 476 Feb 9 15:27 .. -rw-r--r-- 1 ladmin admin 94 Feb 24 11:48 FETCH_HEAD -rw-r--r-- 1 ladmin admin 23 Feb 24 11:48 HEAD -rw-r--r-- 1 ladmin admin 41 Feb 9 15:28 ORIG_HEAD drwxr-xr-x 2 ladmin admin 68 Feb 9 15:27 branches -rw-r--r-- 1 ladmin admin 218 Feb 9 15:27 config -rw-r--r-- 1 ladmin admin 73 Feb 9 15:27 description drwxr-xr-x 12 ladmin admin 408 Feb 9 15:27 hooks -rw-r--r-- 1 ladmin admin 200272 Feb 24 11:48 index drwxr-xr-x 3 ladmin admin 102 Feb 9 15:27 info drwxr-xr-x 4 ladmin admin 136 Feb 9 15:27 logs drwxr-xr-x 4 ladmin admin 136 Feb 9 15:27 objects drwxr-xr-x 5 ladmin admin 170 Feb 9 15:27 refs 

  • ¿Utiliza almacenamiento de terceros como almacenamiento principal del server OS X o contrata un server OS X?
  • Compartir pantalla rápida
  • ¿Cómo debo copyr el entorno del server OS X a otra máquina para la actualización?
  • ¿Qué distribución de Linux es mejor instalar en un server Mac mini 2011?
  • No puedo SSH en mi Mac desde Linux
  • ¿Cómo puedo agregar un logging DNS para que example.com se resuelva en mi server.example.com en la aplicación OS X Server?
  • ¿Cómo importar datos de zona autorizados (primarios) en Lion Server DNS?
  • ¿La ACL de service AFP aún existe en 10.9 Server.app?
  • 5 Solutions collect form web for “Permisos de Homebrew y múltiples usuarios que necesitan actualizar”

    ¿Esto es considerado malo? Pensé que una de las ventajas de usar / usr / local / para sus instalaciones era que no necesita sudo. Pero claramente lo hacemos.

    Homebrew, de forma pnetworkingeterminada, se configura para el acceso de un solo usuario a /usr/local . Por lo tanto, debe abrir los permissions en el tree de directorys para que lo administre más de una persona.

    La gente no necesita ejecutar sudo aquí para administrar homebrew. Solo necesitas cambiar algunos permissions. Como ya tienes:

    Todos los usuarios que necesitarían modificar Homebrew son miembros del grupo de administración.

    Tienes que hacer dos cosas más:

    1. Asegúrese de que todo en /usr/local pertenezca al admin grupo; y
    2. Asegúrese de que cualquier persona del admin del grupo pueda escribir algo en /usr/local .

    En este caso los cambios para hacer son:

     chgrp -R admin /usr/local chmod -R g+w /usr/local chgrp -R admin /Library/Caches/Homebrew chmod -R g+w /Library/Caches/Homebrew 

    Y cualquier usuario del grupo de admin debería poder administrar la installation homebrew en la máquina. Si necesita agregar un usuario al grupo de administración, esto se puede lograr así:

      dseditgroup -o edit -a <username> -t user admin 

    (ese usuario necesitará iniciar session de nuevo para que se le otorguen los privilegios).

    Para la cordura en la máquina, es posible que desee considerar la creación de su propio tenedor de Homebrew y hacer que su repository git homebrew local apunte al tenedor local. Eso le permite personalizar Homebrew para su entorno y controlar las versiones de packages que las personas pueden instalar con el command brew . Con varias personas haciendo instalaciones, podrías acceder a problemas de versión o de dependencia.

    Puede habilitar permissions homebrew para más de un usuario a través del grupo de administración o a través de cualquier otro grupo de usuarios. Aquí hay una receta ligeramente expandida para configurar esto:

    El grupo necesita administrar el directory local de installation homebrew. Asigne / usr / local al grupo de administración (o su grupo preferido) y habilite los permissions de escritura grupales:

     chgrp -R admin /usr/local chmod -R g+w /usr/local 

    El grupo también necesita permissions para la caching local de homebrew de fórmulas y files fuente en / Library / Caches / Homebrew :

     chgrp -R admin /Library/Caches/Homebrew chmod -R g+w /Library/Caches/Homebrew 

    Si se encuentra con más problemas de permissions similares al utilizar homebrew desde varias counts, tenga en count la ruta ofensiva y considere intentar el mismo enfoque.

    Leif Hanack ha blogueado una solución similar , donde crea y configura un brebaje de grupo de usuarios dedicado para el propósito.

    –Update 2015-08-20

    Recientemente utilicé esta respuesta nuevamente para configurar una count de invitado con acceso homebrew. Para usar Cask desde la segunda count de administrador también tuve que ejecutar los siguientes commands:

     chgrp -R admin /opt/homebrew-cask chmod -R g+w /opt/homebrew-cask 

    Solo iba a comentar la respuesta aceptada (pero aún no tengo la reputación para eso).

    Como usuario de Caskroom.io , también recomendaría agregar:

     sudo chown -R admin /opt/homebrew-cask sudo chmod -R g+w /opt/homebrew-cask sudo chmod -R g+w /Library/Caches/Homebrew/ 

    desde barrica, una extensión extremadamente útil para homebrew, pone todos sus files en /opt/homebrew-cask

    Debes dar permiso al path. ejecuta esto en command-line y estarás listo para continuar. Funcionó para mí:

    sudo chown -R $ USER / usr / local

    Yo votaría por establecer el permiso del grupo, y para mí parece que es justo lo que está ahí y no debería crear un problema de security.

    • No use sudo.

    tl; dr Sudo es peligroso e instaló TextMate.app sin sudo de todos modos.

    Homebrew está diseñado para funcionar sin usar sudo. Puede decidir usarlo, pero recomendamos encarecidamente no hacerlo. Si ha usado sudo y se ha encontrado con un error, es probable que sea la causa. No envíe un informe de errores a less que pueda reproducirlo después de volver a instalar Homebrew desde cero sin usar sudo.

    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).