Так, Mac має багато вдосконалень для Unix в області файлів. Ігноруючи всю річку з вилкою ресурсу , яка більше не використовується, є:
- на стандартні дозволу Unix
ugo rwx і так далі. Застосовуються звичайні інструменти Unix.
- ACL , видимий з
ls -leі мінливий з chmod [ -a | +a | =a ].
- прапори файлів, які можна переглядати за допомогою "
ls -lOЗаголовок о, не нуль" та змінні за допомогою chflags.
- розширені атрибути , доступні для перегляду
ls -l@(лише ключі атрибутів), а також видимі та змінні xattr. (Використовуйте xattr -hдля допомоги, якщо man xattrнічого не дає.)
- Починаючи з OS X 10.11 "El Capitan", захист цілісності системи (SIP) додатково захищає деякі файли від змін від звичайних процесів, навіть коли використовується
sudoдля запуску як root. Файли, захищені SIP, будуть перераховані ls -lOяк такі, що мають restrictedпрапор та / або будуть вказані ls -l@як com.apple.rootlessатрибути.
Ви можете відмовити в операціях над файлом через дозволи Unix, ACL, прапори файлів або SIP. Щоб повністю розблокувати файл:
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
Якщо ввімкнено захист цілісності системи (SIP), sudo chflags norestrictedа sudo xattr -d com.apple.rootlessтакож поверне помилку "Операція не дозволена". Щоб очистити прапор та / або атрибут, потрібно завантажити в macOS Recovery і виконати команди з терміналу (можливо, вам спочатку доведеться скористатися Disk Utility для розблокування та монтажу завантажувального диска, а потім пам’ятайте, що ваші файли будуть знаходитися під /Volumes/Macintosh HDбудь-яким іншим завантаженням. диск названо) або відключити SIP взагалі, а потім перезавантажте і команди повинні працювати. Однак майте на увазі, що майбутні оновлення ОС, ймовірно, відновлять restrictedпрапор та com.apple.rootlessатрибут усіх файлів, з яких ви його видалили.
Вимкнення SIP не рекомендується, оскільки це знімає багато захисту від зловмисного програмного забезпечення та випадкових пошкоджень, плюс це не потрібно, коли ви можете просто зняти захист на основі файлів. Якщо ви відключите SIP, ввімкніть його знову після завершення внесення змін.
Зауважте, що якщо ls -lOпоказано, що schgпрапор встановлений, вам доведеться перейти в режим однокористувача, щоб зняти його. Я не збираюся вступати в це тут, оскільки виникають більші запитання щодо того, чому у файлі встановлений цей прапор і чому ви намагаєтеся з ним возитися і які наслідки будуть.
sudo chgrp wheel ./entries?