【问题标题】:How to delete .htaccess file recursive based on size or content如何根据大小或内容递归删除 .htaccess 文件
【发布时间】:2021-07-17 10:27:56
【问题描述】:

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

有几个帐户在服务器上被盗,清除了恶意软件/rootkit,但注意到它在每个文件夹中添加了.htaccess 文件,内容如下:

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

【问题讨论】:

    标签: linux bash shell ssh


    【解决方案1】:

    您可以使用find 递归遍历多个目录,搜索文件并在结果上执行rm 之类的命令。

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

    【讨论】:

    • 谢谢伙计,在我运行它之前...是否会遍历所有子目录,找到具有 0444 权限的 .htaccess 文件...似乎它们在每个目录中,因此需要查找并删除.只是想在运行该命令之前确认,但非常感谢您的帮助!
    • 是的,find 将贯穿每个子目录。请注意-exec 之后的echo 将打印包含路径的结果。
    • 好的,谢谢,然后运行!感谢您的帮助,一定会回答的!再次感谢!
    • 哦,只是一件事,无论如何要使“find . -type f -perm 0444 -exec echo rm {} \;”仅针对 .htaccess 文件?
    • 通过添加-name 标志。我已经更新了搜索名为 .htaccess 的文件的答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多