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 contiene semplicemente 5 file /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 dentro /usr/local/bin e io 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 migrato da un MacBook con macOS Sierra anche e /usr/local/bin era accessibile dal mio account utente. Elm presume che sia il caso su tutti i Mac.

Perché è stato cambiato? Cosa dovrei fare? Non dovremmo usarlo /usr/local/bin come questo più? Devo cambiare le autorizzazioni /usr/local/bin? Presumo che ci sia una ragione /usr/local/bin è stato modificato in questo modo ... Devo spostare i file Elm in /usr/bin?

Risposte:


2

Nella mia installazione quasi predefinita di macOS (10.12.0 & gt; 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 così strettamente - Apple esplicitamente stati le app e gli installer di terze parti 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, semplicemente, cambia le autorizzazioni di / usr / local / bin (e / usr / local se necessario) a 755.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.