Linux 删除目录内压缩文件

【项目需求】:

SAMBA服务器共享/tmp/文件夹,任何人都可在该文件夹内写文件,但是禁止以下文件写入:

  • RAR,ZIP,TAR,GZ,7z文件。

  • Windows EXE,COM,BAT可执行文件

以上文件变更扩展名之后也无法写入/tmp文件夹。

使用SHELL探测/tmp/中的子文件夹,发现以上文件立即删除。

【解决思路】:

  1. 查询文件名包含rar的文件,但是更名为doc之后无法探测。

  2. 采用Linux File命令,可以直接探测文件的类型,就算变更文件名可探测。

【解决方案】:

#!/bin/bash
while :
do
rm -rf $(file $(find /tmp/) | egrep "archive | gzip | tar | Windows | DOS" | awk -F ':' '{print $1}')
  sleep 1
done

开机执行该脚本即可

你可能感兴趣的:(删除指定文件)