Saya upgrade ke El Capitan kemarin dan semuanya baik-baik saja sampai baru-baru ini ketika saya perhatikan saya tidak bisa menulis apa pun (dengan sudo ofc) di / usr / bin ketika saya mencoba menginstal phpbrew.
Apa yang menyebabkan ini dan bagaimana cara memecahkannya?
macos
osx-el-capitan
sushil
sumber
sumber
Jawaban:
Sejak OSX 10.11, Apple memperkuat sistem keamanan. Disebut Perlindungan Integritas Sistem , Apple mengunci:
Untuk menonaktifkan fitur keamanan ini, Anda harus mem-boot ulang komputer Anda dan menahannya
CMD+R
saat mulai mem-boot ke dalam Mode Pemulihan OS X.Kemudian
OS X Utilities > Terminal
Ketikkan perintah
csrutil disable; reboot
Komputer Anda akan restart. Anda akan melihat pesan konfirmasi tentang penonaktifan.
Untuk memverifikasi status jenis CRS
csrutil status
sumber
/Users/Rob$ csrutil status System Integrity Protection status: disabled. /Users/Rob$ touch /usr/bin/yes touch: /usr/bin/yes: Permission denied
sudo
.csrutil enable
(dalam mode Pemulihan).Seperti yang disebutkan oleh Ragnar ,
/usr
direktori dikunci oleh sistem, dengan pengecualian/usr/local
. Kemudian, jika skenario Anda memungkinkan, saya sarankan menambahkan tautan simbolis ke/usr/local/bin
. Jika Anda tidak memiliki persyaratan ketat untuk menggunakan/usr/bin
, itu salah satu cara untuk mengatasi kesalahan "Operasi tidak diizinkan".sumber
Seseorang dapat memverifikasi jika file atau direktori tertentu dibatasi oleh OSX System Integrity Protection (SIP) / Rootless dengan mendaftarkan flag file menggunakan
-O
opsi ke ls (misalnya untuk melihat direktori mana di / dibatasi):Direktori atau file yang dikendalikan oleh SIP ditampilkan sebagai 'dibatasi'.
Ada detail lengkap dalam jawaban untuk pertanyaan ini tentang SIP / tidak menentu.
sumber