Permissions

為什麼我不能刪除我的文件?

  • April 5, 2019

我將一些文件從數據 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.rtfsudo用作測試。)

我相信某個答案需要一些額外的資訊,但我懷疑這個問題只是權限相關。我猜你要麼不小心複製了符號連結而不是真實文件,要麼你試圖刪除整個目錄但沒有重置其中所有文件的權限。

首先,當您統計文件時,它會給出“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"

讓我們知道這是怎麼回事,並提供您收到的任何錯誤!

當您使用 ext4 文件系統時,這些文件可能啟用了不可變屬性。你應該用 lsattr 檢查它。前任:

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

引用自:https://unix.stackexchange.com/questions/182498