Пользователь root не может удалить файл

Я включил пользователя root на своем Mac, используя последнюю версию Mojave. Пытаюсь удалить с ним папку, но по какой-то причине выдает ошибку «Permission denied». Я думал, что root может делать что угодно в системе unix?

sh-3.2# whoami
root
sh-3.2# pwd
/opt/local/var/macports/home/Library
sh-3.2# ls -lhart
total 0
drwxr-xr-x  3 root  admin    96B Sep 24  2016 ..
drwxr-xr-x  3 root  admin    96B Sep 24  2016 .
drwxr-xr-x  2 root  admin    64B Oct 13 18:54 Preferences
sh-3.2# rm -rf Preferences/
rm: Preferences/: Operation not permitted
sh-3.2# whoami
root
sh-3.2#

Нет, не можешь. ГЛОТОК

xrisk 13.10.2018 22:52

SIP вроде как защищает системные файлы. Пытаюсь удалить установочный каталог macports.

ruipacheco 13.10.2018 23:58

Каталог установки macports определенно не принадлежит ни root, ни Preferences.

xrisk 13.10.2018 23:59

/ opt / local / var / macports / home / Library / Preferences

ruipacheco 14.10.2018 01:00

Я не думаю, что это та папка, не могли бы вы, пожалуйста, pwd? Также версия ОС?

xrisk 14.10.2018 06:27

/ opt / local / var / macports / home / Library sh-3.2 # ОС в приколах, Mojave.

ruipacheco 14.10.2018 09:15

Здесь не по теме. Это не вопрос программирования, он скорее подходит для superuser.com.

Ulrich Eckhardt 22.10.2018 19:36
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
7
2 970
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Похоже, что SIP защищает всю папку /opt/local/var/macports/home, как предполагалось выше. Однако нет необходимости отключать SIP для удаления папки.

Этот ответ об удалении папки MacPorts указывает, что удаление пользователя "macports", для которого эта папка является "домом", позволит root удалить папку, поэтому

sudo /usr/bin/dscl . -delete "/Users/macports"
sudo /usr/bin/dscl . -delete "/Groups/macports"

должен позволить sudo rm -rf /opt/local/var/macports/home/Preferences работать должным образом.

Если вы не хотите удалять пользователя «macports», выполните следующие действия, чтобы удалить эти папки с помощью терминала в Режим восстановления:

  • Выключите ваш Mac
  • Загрузите Mac и сразу нажмите CMD + R при запуске, чтобы запустить режим восстановления (вы можете отпустить клавиши, когда появится логотип Apple)
  • Откройте приложение Терминал
  • cd / Volumes / Macintosh \ HD / opt (имя вашего жесткого диска может отличаться от "Macintosh HD")
  • rm -Rf местный

Другие вопросы по теме