Nuovo MBP con Sierra, / usr / local / bin non più accessibile a meno di root

0

Ho appena ricevuto un nuovo MBP con una nuova installazione di macOS Sierra. Ho installato Elm, che mette semplicemente 5 file in /usr/local/bin . Tuttavia, quando provo a eseguire uno di questi file, non vengono trovati:

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

Li cerco in /usr/local/bin e non ho il permesso:

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

Devo usare sudo e vedo che sono tutti di proprietà di 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

Posso elencare il contenuto di /usr/local senza essere root :

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

Ho appena effettuato la migrazione da un MacBook con macOS Sierra e /usr/local/bin era accessibile dal mio account utente. Elm presume che sia il caso su tutti i Mac.

Perché è cambiato? Cosa dovrei fare? Non dovremmo più usare /usr/local/bin come questo? Devo modificare le autorizzazioni su /usr/local/bin ? Presumo che ci sia un motivo per cui /usr/local/bin è stato modificato in questo modo ... Devo spostare i file Elm in /usr/bin ?

    
posta at01 20.11.2016 - 08:07
fonte

1 risposta

2

Nella mia installazione quasi predefinita di macOS (10.12.0 > aggiornata a 10.12.1) le directory hanno i seguenti proprietari e permessi:

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

Non vi è alcun motivo ovvio per cui le autorizzazioni siano impostate in modo restrittivo - Apple esplicitamente afferma che le app di terze parti e gli installer possono continuare a scrivere su / usr / local. Se un utente normale non sarebbe in grado di leggere o eseguire file lì, la directory mancherebbe il suo punto.

Quindi modifica semplicemente i permessi di / usr / local / bin (e / usr / local se necessario) a 755.

    
risposta data 20.11.2016 - 12:50
fonte

Leggi altre domande sui tag