为什么 root 不能删除文件?

为什么 root 不能删除文件?

在 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

奇怪的是, 的输出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

我可以在与我自己相同的目录中创建和删除其他文件(不需要 sudo)

该文件没有设置不可变位,为什么我不能删除它?

还有其他相关的问题,但那里发布的解决方案都不适合我。

即使以 root 身份也无法删除文件
如何创建一个即使root用户也无法删除的文件
https://askubuntu.com/questions/378055/how-to-make-a-file-or-folder-undeletable

更新

lsof似乎没有任何内容根据和来使用该文件fsuer。奇怪的是我可以从 Windows 计算机上删除该文件。

答案1

您正在使用远程文件系统。如果服务器不希望您删除文件,您将无法删除该文件。本地 root 用户不一定在远程计算机上拥有所有权力。

Windows 计算机上可能有一个访问控制列表,导致该文件通过远程访问只读或不可删除。

答案2

可能正在被进程使用,解决方案很简单:卸载共享,使用文件检查进程(使用fuser,lsof),如果没有进程正在使用,请将其删除

相关内容