如何根据大小或内容递归删除 .htaccess 文件

Jam*_*mes 8 linux ssh bash shell

我正在寻找一个终端命令来递归地遍历文件夹结构,并删除.htaccess具有 0444 权限的文件和/或如果可能的话匹配文件中的第一行以采取安全措施。

服务器上的一些帐户遭到入侵,该服务器清除了恶意软件/rootkit,但注意到它.htaccess在每个文件夹中添加了包含以下内容的文件:

<FilesMatch ".(py|exe|phtml|php|PhP|php5|suspected)$">
  Order Allow,Deny
  Deny from all
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)

0xd*_*dnL 13

您可以使用find递归方式遍历多个目录、搜索文件并执行类似rm结果的命令。

find . -type f -perm 0444 -name ".htaccess" -exec echo rm {} \;
Run Code Online (Sandbox Code Playgroud)
  • .当前目录/可以是其他路径,例如/etc
  • -type f搜索文件
  • -perm 0444许可 0444
  • -name ".htaccess"只会查找名为的文件.htaccess
  • -exec CMD {} \;rm在结果上运行命令{}
  • 验证输出find并删除echo以删除文件


小智 7

此命令删除.htaccess所有子文件夹中的所有文件:

find . -name ".htaccess" -exec rm -rf {} \;
Run Code Online (Sandbox Code Playgroud)