我以前曾经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
这里发生了什么?
删除文件需要在其父目录中具有写入权限 - 因此如果有任何一个都可能会失败
~/Desktop/
有不正确的权限位~/Desktop/
具有正确的权限,但已被其他人拥有,例如root
必要时检查和调整。