sudo를 사용하여 파일을 삭제할 때 권한이 거부되었습니다.

sudo를 사용하여 파일을 삭제할 때 권한이 거부되었습니다.

나는 꽤 딜레마에 빠졌습니다. 바이너리 파일을 만들었습니다 /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수정 가능한 레이어를 제공하기 위해 어떤 방식으로든 오버레이되는 동안 읽기 전용으로 마운트됩니다.

관련 정보