私はOS X El Capitanで何かを /usr/bin に移動しようとしています。 Sudo nvram boot-args="rootless=0"; Sudo reboot
コマンドを使用してrootlessを無効にしましたが、同じエラーが表示され続けます。
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
正しい解決策は/usr/local/bin
not/usr/bin
にコピーまたはインストールすることですこれは System Integrity Protection(SIP) のためです。 SIPは/usr/bin
を読み取り専用にしますが、/usr/local
を読み書き可能にします。
_ sip _ は、上記の回答で述べたように無効にしないでください。ルートアクセスを取得するマルウェアに対して別の保護層が追加されるためです。 ここ は、SIPが何をするのか、そしてなぜそれが有用なのかについての完全な説明です。
この回答 で示唆されているように、SIP(rootless mode)を無効にすべきではありません "rootless modeを無効にすることはお勧めできません! usr/localは "only"です。
/usr/bin/
を管理したい場合
システムを再起動する必要があります。
起動音の直後に、Command-Rを押しながらリカバリシステムを起動します。
[ユーティリティ]メニューをクリックして[ターミナル]を選択します。
Csrutil disableと入力してReturnキーを押します。
メニューをクリックして、「再起動」を選択します。
変更をコミットしたら、必ずSIPを再度有効にしてください。あなたのシステムを保護することは大いに役立ちます。 (type:csrutil enable以外は上記と同じ手順)
"csrutil disabled"の後もまだコマンドが機能しない場合は、ターミナルで "Sudo"を試してください。例えば:
Sudo mv geckodriver usr/local/bin
そしてそれはうまくいくはずです。