나는 꽤 딜레마에 빠졌습니다. 바이너리 파일을 만들었습니다 /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
파일을 열어서 수정하고 실행할 수는 있지만 삭제할 수는 없습니다. 원인은 무엇일까요?
답변1
이것이 최신 버전의 macOS라고 가정하면 루트 파일 시스템이 읽기 전용으로 마운트되어 있음을 알 수 있습니다. 즉, sudo
-ing을 아무리 많이 사용해도 해당 파일 시스템을 삭제할 수 없습니다.
현재 macOS 시스템이 다양한 파일 시스템을 어떻게 처리하는지 100% 확신할 수는 없지만 루트 파일 시스템은 /System/Volumes/Data
수정 가능한 레이어를 제공하기 위해 어떤 방식으로든 오버레이되는 동안 읽기 전용으로 마운트됩니다.