在 samba 共享上,我在 SMB 网络共享上有一个 .DS_Store 文件,这造成了严重破坏。即使以 root 身份,我也无法删除或 chmod 它。
-rwx------ 1 bob acme\Domain Users 6148 Apr 24 09:11 .DS_Store*
sudo chmod 777 .DS_Store
chmod: Unable to change file mode on .DS_Store: Permission denied
sudo rm -rf .DS_Store
rm: .DS_Store: Permission denied
sudo mv .DS_Store ../
mv: rename .DS_Store to ../.DS_Store: Permission denied
Run Code Online (Sandbox Code Playgroud)
奇怪的是输出如何ls
显示这是一个可执行文件(注意最后的 *)
如果我查看桌面上的类似文件,它具有这些权限。
-rw-r--r--@ 1 bob acme\Domain Users 16388 May 20 15:10 .DS_Store
stat .DS_Store
771751940 3458764513820547522 -rwx------ 1 bob acme\Domain Users 0 6148 "Apr 24 09:11:42 2015" "Apr 24 09:11:42 2015" "Apr 24 09:11:42 2015" "Apr 24 09:11:42 2015" 16384 32 0x8000 .DS_Store
Run Code Online (Sandbox Code Playgroud)
我可以在与我自己相同的目录中创建和删除其他文件(不需要 sudo)
该文件没有设置不可变位,为什么我不能删除它?
还有其他相关的 SO 问题,但没有发布在那里的解决方案对我有用。
无法删除文件,即使是 root
如何创建一个文件,即使是 root 用户也无法删除它
https://askubuntu.com/questions/378055/how-to-make-a-file-or-folder-undeletable
更新
根据lsof
和似乎没有使用该文件fsuer
。奇怪的是,我可以从 Windows 计算机中删除该文件。
您正在使用远程文件系统。如果服务器不希望您删除文件,您将无法删除该文件。本地 root 用户在远程机器上不一定是全能的。
Windows 机器上大概有一个访问控制列表,该列表导致文件为只读或不可通过远程访问删除。