У меня совсем затруднительное положение. Я создал двоичный файл /Library/Application Support/XXX/DaemonLauncher. Когда я пытаюсь удалить его, я получаю следующее:

$ sudo rm -f /Library/Application\ Support/XXX/DaemonLauncher 
rm: /Library/Application Support/XXX/DaemonLauncher: Permission denied

Это кажется странным, поскольку я, очевидно, использую sudo, а root является владельцем файла, который предоставляет все разрешения, как видно:

$ ls -@alO /Library/Application\ Support/XXX/DaemonLauncher
-rwxr-xr-x  1 root  admin  - 1 Oct 23 13:32 /Library/Application Support/XXX/DaemonLauncher

Я заметил, что другие люди, кажется, получают ошибки разрешения при попытке удалить файлы с помощью sudo, если файл является двоичным файлом, который в данный момент работает, но мой, похоже, не такой:

$ ps aux | grep DaemonLauncher
sschilli          6504   0.0  0.0  4268056    820 s005  S+    1:43PM   0:00.00 grep DaemonLauncher

Я могу открыть файл, изменить его и выполнить, но не могу его удалить. Что может быть причиной этого?

0
sschilli 23 Окт 2019 в 22:49
Все родительские каталоги имеют одинаковые разрешения: rwxr-xr-x/755
 – 
sschilli
23 Окт 2019 в 23:00

1 ответ

Предполагая, что это последняя версия macOS, вы заметите, что корневая файловая система смонтирована только для чтения, а это означает, что никакое количество sudo-ing не позволит удалить файлы на ней.

Я не уверен на 100%, как текущая система macOS обрабатывает свои различные файловые системы, но корневая файловая система монтируется только для чтения, а /System/Volumes/Data каким-то образом накладывается поверх нее, чтобы обеспечить слой, на котором могут быть сделаны модификации.

1
Kusalananda 24 Окт 2019 в 10:01