Nuevo MBP con Sierra, / usr / local / bin ya no es accesible a menos que root

0

Acabo de recibir un nuevo MBP con una nueva instalación de macOS Sierra. Instalé Elm, que simplemente pone 5 archivos en /usr/local/bin . Sin embargo, cuando intento ejecutar cualquiera de esos archivos, no se encuentran:

Scotts-MacBook-Pro:~ scott$ elm-make --version
-bash: elm-make: command not found

Los busco en /usr/local/bin y no tengo permiso:

Scotts-MacBook-Pro:~ scott$ ls -lh /usr/local/bin
ls: bin: Permission denied

Tengo que usar sudo y veo que todos son propiedad de root:wheel :

Scotts-MacBook-Pro:~ scott$ sudo ls -lh /usr/local/bin
Password:
total 85536
-rwxr-xr-x  1 root  wheel   2.0M Nov 10 18:46 elm
-rwxr-xr-x  1 root  wheel    15M Nov 10 18:46 elm-make
-rwxr-xr-x  1 root  wheel    11M Nov 10 18:46 elm-package
-rwxr-xr-x  1 root  wheel   7.2M Nov 10 18:46 elm-reactor
-rwxr-xr-x  1 root  wheel   7.0M Nov 10 18:46 elm-repl

Puedo enumerar los contenidos de /usr/local sin ser root :

Scotts-MacBook-Pro:~ scott$ ls -lh /usr/local
total 0
drwx------  7 root  wheel   238B Nov 19 22:33 bin

Acabo de migrar de un MacBook con macOS Sierra también y se pudo acceder a /usr/local/bin desde mi cuenta de usuario. Elm asume que ese es el caso en todos los Mac.

¿Por qué se cambió esto? ¿Qué tengo que hacer? ¿Se supone que ya no debemos usar /usr/local/bin así? ¿Debo cambiar los permisos en /usr/local/bin ? Supongo que hay una razón por la cual /usr/local/bin ha cambiado de esta manera ... ¿Debo mover los archivos Elm a /usr/bin ?

    
pregunta at01 20.11.2016 - 08:07

1 respuesta

2

En mi instalación casi predeterminada de macOS (10.12.0 > actualizado a 10.12.1) los directorios tienen los siguientes propietarios y permisos:

drwxr-xr-x   4 root  wheel  sunlnk            136 Oct  2 22:42 . #/usr/local
drwxr-xr-x@ 13 root  wheel  restricted,hidden 442 Oct  3 01:01 .. #/usr
    com.apple.FinderInfo     32 
    com.apple.rootless    0 
drwxr-xr-x  26 root  wheel  -                 884 Oct 17 03:36 bin
drwxr-xr-x   5 root  wheel  -                 170 Oct 17 03:35 share

No hay ninguna razón obvia por la que los permisos estén tan ajustados: Apple explícitamente declara que las aplicaciones de terceros y los instaladores pueden continuar escribiendo a / usr / local. Si un usuario normal no pudiera leer o ejecutar archivos allí, el directorio perdería su sentido.

Así que simplemente cambie los permisos de / usr / local / bin (y / usr / local si es necesario) a 755.

    
respondido por el klanomath 20.11.2016 - 12:50

Lea otras preguntas en las etiquetas