如何删除没有权限的文件?


22

黑客已将导致问题的tmp目录中的文件删除。除了创建GB的error_log条目外,没有什么恶意的,因为它们的脚本失败。但是,他们用来执行的文件没有权限,即使是ROOT,我也无法删除或重命名该文件。

----------  1 wwwusr wwwusr 1561 Jan 19 02:31 zzzzx.php

root@servername [/home/wwwusr/public_html/tmp]# rm zzzzx.php
rm: remove write-protected regular file './zzzzx.php'? y
rm: cannot remove './zzzzx.php': Operation not permitted

我也尝试过通过inode删除

root@servername [/home/wwwusr/public_html/tmp]# ls -il

...
1969900 ----------  1 wwwusr wwwusr 1561 Jan 19 02:31 zzzzx.php

root@servername [/home/wwwusr/public_html/tmp]# find . -inum 1969900 -exec rm -i {} \;

rm: remove write-protected regular file './zzzzx.php'? y
rm: cannot remove './zzzzx.php': Operation not permitted

如何删除该文件?


15
如果我是你,我希望核对并铺好那个盒子。显然,它至少有一个安全漏洞,足以使某人可以在文档根目录之外使用自定义权限编写新文件,然后最重要的是设法让PHP / Apache尝试加载它。我的朋友,你是王室拥wn。如果要把那个盒子放回去,就必须从轨道上将它弹开。这是唯一可以确定的方法
沃伦·杨

谢谢沃伦。实际上,这是一个全新的盒子,用于移动从未被盗用的帐户。我试图弄清楚什么是不同的设置(两个CPanel框)。
2013年

2
仅仅因为操作系统是最新的并且安装全新,并不意味着您不能妥协。由于人们继续从不断老旧的CD安装旧版本的操作系统,因此今天发现的6个月前发布的操作系统中的错误可能会持续数年。即使有该漏洞的补丁程序,安装和更新之间的窗口也可以妥协。抛开这些,如果我错了,有一个坏主角将该文件放在您的系统上,那么一个有责任心的系统管理员将不得不至少尝试以另一种方式来解释它的存在。
沃伦·杨

Answers:


26

该文件可能已使用文件属性锁定。

以root身份执行

lsattr zzzzx.php

存在的属性a(附加模式)或i(不可变)将阻止您使用rm。如果他们在那里

chattr -ai zzzzx.php
rm zzzzx.php

应该删除您的文件。


我会避免称它们为扩展文件属性,因为这可能与设置setfxattr和用于存储ACL或SELinux ...属性的扩展文件属性混淆。
斯特凡Chazelas

@Stephane Chazelas-好的。普通的“文件属性”对您有用吗?
ire_and_curses 2013年

1
我想不出更好的办法了。它们曾经是ext2文件属性,但是现在Linux上的其他FS(例如btrfs的xfs)都支持它们,因此无法再将其称为它们。
斯特凡Chazelas

3

不幸的是,沃伦并没有将其发布为答案,而是作为评论。我不能强调他是完全正确的。

删除/更改一个文件无法解决您的REAL问题;它会使一种症状消失。使包装箱离线,拍摄图像以供日后取证,然后使用您正在运行的新版本(希望有新的安全修复程序)重新安装。

我重复一遍:删除文件不是FIX


7
我没有发布答案,因为我的评论未回答所提出的问题。
沃伦·杨

嘿...我想我对stackexchange的做事方式还太陌生。我宁愿踏踏实实投给了“不回答”比不说什么需要说; d
天衣

问题不是解决该问题,而是删除没有权限的文件。这是一个有趣的问题!
2013年

5
@tink:这就是注释:说的事情,需要说,这不是问题的答案。
沃伦·杨

显然,这确实回答了所提出的问题。擦拭磁盘将删除文件!通常,这不是删除文件的合理方法,但是在这种情况下,这是合理的方法,因为它可以同时解决潜在的问题。(此外,即使这并没有按照明确提出的要求回答问题-确实如此!-为OP的实际问题发布解决方案也没有错。)
Eliah Kagan
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.