使用 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 都无法删除其上的文件。

我不是 100% 确定当前的 macOS 系统如何处理其各种文件系统,但根文件系统以只读方式安装,同时以/System/Volumes/Data某种方式覆盖在其顶部,以提供可以进行修改的层。

相关内容