为什么我无法删除我的文件?

为什么我无法删除我的文件?

我将一些文件从数据 DVD 复制到/home/emma(ext4),所有文件都是只读

所有文件都是这样的:

emma@emma-W54-55SU1-SUW:~$ stat cd/Drivers/Drivers_List.rtf
  File: ‘cd/Drivers/Drivers_List.rtf’
  Size: 28120       Blocks: 56         IO Block: 4096   regular file
Device: 801h/2049d  Inode: 656521      Links: 1
Access: (0400/-r--------)  Uid: ( 1000/    emma)   Gid: ( 1000/    emma)
Access: 2014-01-17 05:34:46.000000000 +0000
Modify: 2014-01-17 05:34:46.000000000 +0000
Change: 2015-02-01 23:11:04.226865424 +0000
 Birth: -

当我尝试删除它们时,rm: cannot remove ‘cd/Drivers/Drivers_List.rtf’: Permission denied即使我是所有者,我也会得到。更改模式777也不起作用。唯一有效的方法是使用 root 身份删除它们sudo

我以为只有一个i属性使文件无法被其所有者删除,那么这是怎么回事呢?

我使用的是 Xubuntu 14.10。

各种命令的结果:

(请注意:我自己创建了目录cd,然后将目录Drivers从 DVD 复制到其中。)

emma@emma-W54-55SU1-SUW:~$ ls -dlh cd
drwxrwxr-x 3 emma emma 4.0K Feb  3 01:44 cd

emma@emma-W54-55SU1-SUW:~$ ls -dlh cd/Drivers
dr-x------ 11 emma emma 4.0K Feb  3 02:15 cd/Drivers

emma@emma-W54-55SU1-SUW:~$ ls -l cd/Drivers/Drivers_List.rtf
-r-------- 1 emma emma 28120 Jan 17  2014 cd/Drivers/Drivers_List.rtf
emma@emma-W54-55SU1-SUW:~$ rm cd/Drivers/Drivers_List.rtf
rm: cannot remove ‘cd/Drivers/Drivers_List.rtf’: Permission denied

emma@emma-W54-55SU1-SUW:~$ chmod 660 cd/Drivers/Drivers_List.rtf
emma@emma-W54-55SU1-SUW:~$ ls -l cd/Drivers/Drivers_List.rtf
-rw-rw---- 1 emma emma 28120 Jan 17  2014 cd/Drivers/Drivers_List.rtf
emma@emma-W54-55SU1-SUW:~$ rm cd/Drivers/Drivers_List.rtf
rm: cannot remove ‘cd/Drivers/Drivers_List.rtf’: Permission denied

emma@emma-W54-55SU1-SUW:~$ chmod 777 cd/Drivers/Drivers_List.rtf
emma@emma-W54-55SU1-SUW:~$ ls -l cd/Drivers/Drivers_List.rtf
-rwxrwxrwx 1 emma emma 28120 Jan 17  2014 cd/Drivers/Drivers_List.rtf
emma@emma-W54-55SU1-SUW:~$ rm cd/Drivers/Drivers_List.rtf
rm: cannot remove ‘cd/Drivers/Drivers_List.rtf’: Permission denied

emma@emma-W54-55SU1-SUW:~$ lsattr cd/Drivers/Drivers_List.rtf
-------------e-- cd/Drivers/Drivers_List.rtf

emma@emma-W54-55SU1-SUW:~$ ls -alh cd/Drivers
total 48K
dr-x------ 11 emma emma 4.0K Feb  3 02:15 .
drwxrwxr-x  3 emma emma 4.0K Feb  3 01:44 ..
dr-x------  7 emma emma 4.0K Jan 14  2014 01Chipset
dr-x------  3 emma emma 4.0K Jan 14  2014 02Video
dr-x------  9 emma emma 4.0K Jan 14  2014 03Lan
dr-x------  9 emma emma 4.0K Jan 14  2014 04CReader
dr-x------  3 emma emma 4.0K Jan 17  2014 05Touchpad
dr-x------  3 emma emma 4.0K Jan 14  2014 06Airplane
dr-x------  2 emma emma 4.0K Jan 17  2014 07Hotkey
dr-x------ 12 emma emma 4.0K Jan 14  2014 08IME
dr-x------  7 emma emma 4.0K Jan 14  2014 09Audio
-r--------  1 emma emma  162 Feb 24  2012 ~$ivers_List.rtf

(我已经删除了cd/Drivers/Drivers_List.rtf使用sudo作为测试。)

答案1

我相信某些附加信息对于某个答案是必要的,但我怀疑这个问题只是与权限相关。我猜测您可能不小心复制了符号链接而不是真正的文件,或者您试图删除整个目录但尚未重置其中所有文件的权限。

首先,当您统计文件时,它会给出“cd/Drivers/Drivers_List.rtf”路径,该路径似乎与您在命令中引用的目录不同。您能否确认您复制了文件而不是创建符号链接?提供这三个命令的结果对于了解发生的情况非常有用:

  • ls -alhd /home/emma/cd
  • ls -alhd /home/emma/Drivers
  • ls -alh /home/emma/Drivers

其次,请尝试执行以下操作,看看是否可以从集合中删除单个文件:

  • chmod 660 "/home/emma/Drivers/Drivers_List.rtf"
  • rm "/home/emma/Drivers/Drivers_List.rtf"

让我们知道情况如何,并提供您收到的任何错误!

答案2

当您使用 ext4 文件系统时,这些文件可能启用了不可变属性。您应该使用 lsattr 检查它。前任:

antonio@PC1:~/antonio/borrar$ lsattr undelete 
-u--i--------e-- undelete

答案3

尝试做:

sudo rm path/to/file

如果你做不到那就试试

sudo rm -r path/to/file

答案4

我正要回答的问题是您正在尝试删除您具有写入权限的目录内的只读文件。

尝试使用 chmod -R 700 /home/emma/cd 递归重置文件夹的权限

它将来自您在 MC 内复制保留权限时的情况。

相关内容