it-swarm.com.de

Operation ist nicht zulässig, wenn Sie sich unter Root befinden - El Capitan (rootless deaktiviert)

Ich versuche auf OS X El Capitan etwas nach/usr/bin zu verschieben. Ich habe rootless mit den folgenden Befehlen deaktiviert: Sudo nvram boot-args="rootless=0"; Sudo reboot, erhalte aber weiterhin den gleichen Fehler:

MacBook-Air:~ Mark$ Sudo cp class-dump /usr/bin
Password:
cp: /usr/bin/class-dump: Operation not permitted
MacBook-Air:~ Mark$ Sudo mv class-dump /usr/bin
mv: rename class-dump to /usr/bin/class-dump: Operation not permitted
204
Mark Bourke

Nvm. Für alle anderen Personen, die dieses Problem haben, müssen Sie Ihren Mac neu starten und beim Booten ⌘ + R drücken. Gehen Sie dann zu Utilities> Terminal und geben Sie die folgenden Befehle ein:

csrutil disable
reboot 

Dies ist ein Ergebnis des Systemintegritätsschutzes. Mehr Infos hier .

EDIT

Wenn Sie wissen, was Sie tun und an das Ausführen von Linux gewöhnt sind, sollten Sie die oben genannte Lösung verwenden, da viele der Einschränkungen von SIP ein absoluter Schmerz sind. 

Wenn Sie jedoch ein Tinkerer/Noob/"Poweruser" sind und nicht wissen, was Sie tun, kann dies sehr gefährlich sein und Sie sollten die unten stehende Antwort besser verwenden.

331
Mark Bourke

Die richtige Lösung ist das Kopieren oder Installieren in /usr/local/bin und nicht /usr/bin. Dies liegt an Systemintegritätsschutz (SIP). SIP macht /usr/bin schreibgeschützt, lässt jedoch /usr/local als Lese- und Schreibzugriff zurück.

SIP sollte nicht wie in der obigen Antwort angegeben deaktiviert werden, da dadurch eine weitere Schutzschicht gegen Malware hinzugefügt wird, die Root-Zugriff erhält. Here ist eine vollständige Erklärung, was SIP macht und warum es nützlich ist.

Wie in diese Antwort vorgeschlagen sollte man SIP nicht deaktivieren (rootless-Modus) "Es wird nicht empfohlen, den rootless-Modus zu deaktivieren! Die beste Vorgehensweise ist die Installation von benutzerdefinierten Dateien nur in"/usr/local " . " 

205
hariszaman

Wenn Sie /usr/bin/ übernehmen möchten

Sie müssen Ihr System neu starten:

Halten Sie nach dem Startsound die Befehlstaste-R gedrückt, um das Wiederherstellungssystem zu starten

Klicken Sie auf das Menü Dienstprogramme und wählen Sie Terminal

Geben Sie csrutil disable ein und drücken Sie die Eingabetaste

Klicken Sie auf das Menü  und wählen Sie Neustart

Wenn Sie Ihre Änderungen bestätigt haben, müssen Sie SIP erneut aktivieren! Es tut viel, um Ihr System zu schützen. (Dieselben Schritte wie oben, außer Typ: csrutil enable)

13
Elliot Yap

Wenn Ihr Befehl nach "csrutil disabled" immer noch nicht funktioniert, versuchen Sie es mit "Sudo" im Terminal, zum Beispiel:

Sudo mv geckodriver usr/local/bin

Und es sollte funktionieren.

0
Nicolas