发现 这是查找目录和文件的非常有用的命令,因为它具有多种选项,可以按日期,大小,类型等过滤搜索。 一个非常强大的工具,如果将它与管道或xargs结合使用,则可以用于多种用途,正如我们在其他教程中所展示的那样。 例如,您可以一次性删除所有本地化的文件。
它也用于 审核 为安全起见或由系统管理员执行。 例如,要查找具有某些活动权限的某些文件或目录,这对于安全性可能是危险的。 我将在本教程中专门介绍一些您可能不知道的选项,这些选项可以帮助您查找具有特定权限的某些文件。
您已经知道 -perm选项 您可以搜索具有一系列特定权限的文件/目录。 但除此之外,您还可以使用一些其他选项来进一步优化搜索或扩大搜索范围。
例如,假设您要查找具有以下内容的当前路径的文件或目录: 许可证总数777 (rwxrwxrwx),这可能会带来安全风险:
<br data-mce-bogus="1"> find . -perm 777<br data-mce-bogus="1">
这很典型,但是假设您想搜索那些没有这些权限的用户,为此,您可以使用 -不是:
find . -not -perm 777
如果您想扩大搜索范围,而不是查找具有这种特定权限的文件或目录,则可以使用-。 这样,您将指定带有 “至少” 这些权限或更高的权限(在这种情况下,至少为644):
find . -perm -644
您还可以搜索设置了位的文件/目录 SUID,SGID和粘性位,这也可能代表您所知道的安全性问题。 但是,当然,要让它搜索任何人,无论其余权限(是777、644还是其他)如何,都必须使用/绕过标准权限。 为此,您可以分别使用:
find . -perm /4000 find . -perm /2000 find . -perm /1000
在这种情况下,无论是4777、4644还是其他都无关紧要。 它将找到所有活跃的人。
最后,尽管如此,您也可以使用其他命令 你一定要小心 或者您可以不适当地配置一些必须具有特定权限的文件。 但是,如果您知道自己在做什么,则可以使用单个命令将find所找到的文件的所有权限修改为所需的文件:
find -perm -744 -exec chmod -R 644 {} \;
在这种情况下,将找到的所有744更改为644 ...