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 -le
dan 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 -h
bantuan jika man xattr
tidak 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
sudo
untuk menjalankan sebagai root
. File yang dilindungi oleh SIP akan didaftar dengan ls -lO
memiliki restricted
bendera dan / atau terdaftar dengan ls -l@
memiliki com.apple.rootless
atribut.
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 norestricted
dan sudo xattr -d com.apple.rootless
juga 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 HD
atau 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 restricted
tanda dan com.apple.rootless
atribut 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 -lO
menunjukkan bahwa schg
flag 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
?