![使用 sudo 删除文件时权限被拒绝](https://linux22.com/image/162794/%E4%BD%BF%E7%94%A8%20sudo%20%E5%88%A0%E9%99%A4%E6%96%87%E4%BB%B6%E6%97%B6%E6%9D%83%E9%99%90%E8%A2%AB%E6%8B%92%E7%BB%9D.png)
我有一个相当的困境。我创建了一个二进制文件/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
某种方式覆盖在其顶部,以提供可以进行修改的层。