在 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),如果没有进程正在使用,请将其删除