Ya, Mac memiliki banyak perangkat tambahan untuk Unix di bidang file. Mengabaikan hal garpu sumber daya keseluruhan yang tidak digunakan lagi, ada:
- yang izin Unix standar
ugo rwx dan sebagainya. Alat Unix yang normal berlaku.
- ACL , dapat dilihat dengan
ls -ledan dapat diubah dengan chmod [ -a | +a | =a ].
- flag file dapat dilihat dengan
ls -lO(Modal oh, bukan nol) dan dapat diubah dengan chflags.
- atribut diperluas , dapat dilihat dengan
ls -l@(hanya kunci atribut) dan dapat dilihat dan diubah dengan xattr. (Gunakan xattr -hbantuan jika man xattrtidak memberi Anda apa-apa.)
- Dimulai dengan OS X 10.11 "El Capitan", System Integrity Protection (SIP) lebih lanjut melindungi beberapa file dari perubahan dari proses biasa, bahkan ketika digunakan
sudountuk menjalankan sebagai root. File yang dilindungi oleh SIP akan didaftar dengan ls -lOmemiliki restrictedbendera dan / atau terdaftar dengan ls -l@memiliki com.apple.rootlessatribut.
Anda dapat ditolak operasi pada file karena izin Unix, ACL, flag file, atau SIP. Untuk membuka kunci file sepenuhnya:
sudo chmod -N file # Remove ACLs from file
sudo chmod ugo+rw file # Give everyone read-write permission to file
sudo chflags nouchg file # Clear the user immutable flag from file
sudo chflags norestricted file # Remove the SIP protection from file
sudo xattr -d com.apple.rootless file # Remove SIP protection from file
Jika Perlindungan Integritas Sistem (SIP) diaktifkan, sudo chflags norestricteddan sudo xattr -d com.apple.rootlessjuga akan mengembalikan kesalahan "Operasi tidak diizinkan". Untuk menghapus tanda dan / atau atribut yang Anda butuhkan untuk boot ke pemulihan MacOS dan menjalankan perintah dari Terminal (Anda mungkin harus terlebih dahulu menggunakan Disk Utility untuk membuka dan memasang drive boot Anda, kemudian ingat file Anda akan berada di bawah /Volumes/Macintosh HDatau apa pun boot Anda drive bernama) atau nonaktifkan SIP sama sekali lalu reboot dan perintah-perintah tersebut kemudian akan berfungsi. Berhati-hatilah, bagaimanapun, bahwa pembaruan OS di masa mendatang kemungkinan akan mengembalikan restrictedtanda dan com.apple.rootlessatribut untuk semua file yang Anda hapus.
Menonaktifkan SIP tidak disarankan karena menghilangkan banyak perlindungan terhadap malware dan kerusakan yang tidak disengaja, plus itu tidak perlu ketika Anda bisa menghapus perlindungan berdasarkan per file. Jika Anda menonaktifkan SIP, aktifkan kembali ketika Anda selesai melakukan perubahan.
Perhatikan bahwa jika ls -lOmenunjukkan bahwa schgflag telah diset, Anda harus masuk ke mode single-user untuk membatalkannya. Saya tidak akan membahasnya di sini karena ada pertanyaan yang lebih besar tentang mengapa file memiliki flag yang ditetapkan dan mengapa Anda mencoba mengacaukannya dan apa konsekuensinya.
sudo chgrp wheel ./entries?