Sierra ile yeni MBP, / usr / local / bin root olmadıkça erişilemez


0

Yeni bir MacOS Sierra kurulumu olan yeni bir MBP aldım. Basitçe 5 dosya ekleyen Elm'i kurdum /usr/local/bin. Ancak, bu dosyalardan herhangi birini çalıştırmayı denediğimde bulunamadılar:

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

Onları araştırıyorum /usr/local/binve iznim yok:

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

Kullanmalıyım sudove hepsinin sahiplenildiğini görüyorum 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

/usr/localOlmadan içeriğini listeleyebilirim root:

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

MacOS Sierra'dan MacBook'tan yeni çıktım ve /usr/local/binkullanıcı hesabımdan da erişilebilir. Elm, bunun tüm Mac'lerde geçerli olduğunu varsayar.

Bu neden değişti? Ne yapmalıyım? /usr/local/binArtık böyle kullanmamız gerekmiyor mu? İzinleri değiştirmeli miyim /usr/local/bin? /usr/local/binBu şekilde değiştirilmiş bir neden olduğunu varsayıyorum ... Elm dosyalarını taşımalı mıyım /usr/bin?

Yanıtlar:


2

Neredeyse varsayılan macOS kurulumumda (10.12.0> 10.12.1 olarak güncellendi) dizinler aşağıdaki sahiplere ve izinlere sahip:

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

İzinlerin bu kadar sıkı olarak belirlenmesinin açık bir nedeni yoktur - Apple , üçüncü taraf uygulamaların ve yükleyicilerin / usr / local dizinine yazmaya devam edebileceğini açıkça belirtir . Normal bir kullanıcı oradaki dosyaları okuyamaz veya çalıştıramazsa, dizin amacını kaçıracaktır.

Bu nedenle, sadece / usr / local / bin (ve / / usr / local) izinlerini 755 olarak değiştirin.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.