Berechtigung verweigert, wenn versucht wird, vom Terminal aus cd / usr / local / bin zu erstellen

12

Vom Terminal aus habe ich versucht, unter meiner Benutzernamen-Anmelde-ID zu usr \ local \ bin zu wechseln, aber die Berechtigung wurde verweigert. Gleich wie ls Befehl. Irgendwelche Vorschläge?

Bearbeiten:

mac1:/ user1$ ls -la /usr/local

total 0

drwxr-xr-x   5 root  wheel  170 Feb 15 17:53 .

drwxr-xr-x@ 12 root  wheel  408 Jan 16 14:30 ..

drwx------  19 504   wheel  646 Feb 15 18:39 bin

drwxrwxr-x   4 root  admin  136 Dec 16 08:47 lib

drwxr-xr-x   6 root  wheel  204 Feb 15 17:53 share
EmilyJ
quelle
Können Sie uns bitte die Ausgabe von zeigen ls -la /usr/local?
Slhck
@slhck: Bitte die Bearbeitung.
EmilyJ

Antworten:

29

In Versionen von OS X oder macOS vor High Sierra (10.13) können Sie einfach Folgendes eingeben:

sudo chown -R $(whoami) /usr/local

Dies gilt nicht für macOS 10.13 oder höher, da der Systemintegritätsschutz sicherstellt, dass das Eigentum an /usr/localnicht geändert werden kann.

Oder wenn Sie möchten, dass es spezifisch ist für /usr/local/bin:

sudo chown -R $(whoami) /usr/local/bin

Außerdem sind Ihre Berechtigungsmodi deaktiviert - idealerweise /usr/local/binsollten auch andere darauf zugreifen können:

sudo chmod -R u=rwX,go=rX /usr/local/bin
slhck
quelle
10
Ich empfehle im Allgemeinen nicht, numerische Modi (wie 755) mit rekursiven Änderungen zu verwenden - es ist wahrscheinlich, dass der Ausführungszugriff auf einfache Dateien hinzugefügt wird, die nicht ausführbar sein sollten (obwohl dies im Fall eines bin-Verzeichnisses wahrscheinlich kein Problem ist). Verwenden Sie stattdessen so etwas wie sudo chmod -R u=rwX,go=rX /usr/local/bin- die "X" -Modus-Sets führen den Zugriff nur aus, wenn dies angemessen erscheint.
Gordon Davisson
Guter Vorschlag, danke. Wie Sie sagten, habe ich das nur geschrieben, weil wir über ein binVerzeichnis gesprochen haben.
Slhck
Keine wirklich gute Idee. Dies kann den Besitzer von Binärdateien ändern, was den Prozess zum Stillstand bringen und Ihnen Schwierigkeiten bereiten kann. Besser selektiv "eigene" einzelne Binärdateien, die Sie benötigen.
Kaiser
Wenn wir darüber sprechen, wie dies geschieht, sieht es so aus, als würde beispielsweise macport diesen Status erstellen. Zumindest hat es es auf meinem Mac erstellt. drwx------ 29 macports wheel 986B 8 Aug 14:01 bin
Oscaroscar
1
Ich erhalte die folgende Fehlermeldung (ich habe es mit und ohne sudo versucht):chown: changing ownership of '/usr/local/bin/docker-compose': Operation not permitted