为什么不使用 sudo 就无法删除或移动这些文件?

为什么不使用 sudo 就无法删除或移动这些文件?

我以前曾经file-roller将 ISO 映像提取到我的桌面,但现在我无法再“以我自己的身份”删除或移动/重命名这些文件,只能使用。但可以sudo更改权限 ( ) 或内容。chmod

bytecommander@BC-AlkaliMetal:~/Desktop$ ll AUTORUN.INF 
-rwxr-xr-x 1 bytecommander bytecommander 132 Jul 21  2005 AUTORUN.INF*

bytecommander@BC-AlkaliMetal:~/Desktop$ chmod 777 AUTORUN.INF 

bytecommander@BC-AlkaliMetal:~/Desktop$ echo "Something useless" > AUTORUN.INF

bytecommander@BC-AlkaliMetal:~/Desktop$ cat AUTORUN.INF 
Something useless

bytecommander@BC-AlkaliMetal:~/Desktop$ ll AUTORUN.INF 
-rwxrwxrwx 1 bytecommander bytecommander 18 Sep 22 21:13 AUTORUN.INF*

bytecommander@BC-AlkaliMetal:~/Desktop$ rm AUTORUN.INF 
rm: cannot remove 'AUTORUN.INF': Permission denied

然而,我想了解究竟是什么阻碍了我继续前行。

我的桌面目录位于 ext4 分区上。输出自mount

/dev/sdb5 on / type ext4 (rw,noatime,nodiratime,errors=remount-ro,data=ordered)

但是我找不到任何可疑的权限、ACL、扩展属性或我所知道的任何其他内容:

bytecommander@BC-AlkaliMetal:~/Desktop$ stat AUTORUN.INF 
  File: 'AUTORUN.INF'
  Size: 18          Blocks: 8          IO Block: 4096   regular file
Device: 815h/2069d  Inode: 405817      Links: 1
Access: (0777/-rwxrwxrwx)  Uid: ( 1000/bytecommander)   Gid: ( 1000/bytecommander)
Access: 2016-09-22 18:18:36.569110000 +0200
Modify: 2016-09-22 21:13:26.821382722 +0200
Change: 2016-09-22 21:26:16.653296674 +0200
 Birth: -

bytecommander@BC-AlkaliMetal:~/Desktop$ getfacl AUTORUN.INF 
# file: AUTORUN.INF
# owner: bytecommander
# group: bytecommander
user::rwx
group::rwx
other::rwx

bytecommander@BC-AlkaliMetal:~/Desktop$ lsattr AUTORUN.INF 
-------------e-- AUTORUN.INF

这里发生了什么?

答案1

移除文件需要其父目录中的写权限 - 因此如果发生以下情况则可能会失败

  • ~/Desktop/具有不正确的权限位
  • ~/Desktop/具有正确的权限,但已被其他人拥有,例如root

检查并根据需要进行调整。

相关内容