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

问题描述 投票:0回答:3

我正在寻找一个终端命令来递归地遍历文件夹结构,并删除具有 0444 权限的

.htaccess
文件和/或如果可能的话匹配文件中的第一行以采取安全措施。

服务器上的一些帐户遭到入侵,这清除了恶意软件/rootkit,但注意到它在每个文件夹中添加了

.htaccess
文件,其中包含以下内容:

<FilesMatch ".(py|exe|phtml|php|PhP|php5|suspected)$">
  Order Allow,Deny
  Deny from all
</FilesMatch>
linux bash shell ssh
3个回答
13
投票

您可以使用

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
    以删除文件

8
投票

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

.htaccess
文件:

find . -name ".htaccess" -exec rm -rf {} \;

0
投票

对于 Windows 用户,请在 powershell 上使用以下命令

Get-ChildItem -Path "C:\path o\your\directory" -Recurse -Filter ".htaccess" |删除项目-强制

© www.soinside.com 2019 - 2024. All rights reserved.