find命令之德.摩根定律及perm条件详解

  1. (1)德.摩根定律

           !A -a !B=!( A -o B )

           !A -o !B=!( A -a B )

           使用条件:条件中存在“非”、“与”“或”字眼的时候,可以考虑使用德.摩根定律来降低命令复杂性

    (2)应用实例

           实例一、查找/etc目录下所有用户都没有写权限的文件

            分析:文件用户主要分为三类:属主、属组、其他用户,可把上述条件解析为“-not w -a -not w -a -not -w”,根据摩根定律,可转化为“-not \( w -o w -o w \)”。

       find /etc -not -perm +222 

    1471326787868425.png

       实例二、查找/etc下至少有一类用户没有没有执行权限的

      分析:如上,用户分为三类,可解析为“-not x -o -not x -o -not x”,根据摩根定律,可转化为“-not \( x -a x -a x \)”

    find /etc -not -perm -111

    2.png

  2. find之条件perm

    (1)find [option]…查找目录 查找条件 执行动作

    (2)-perm [/|-]MODE

          MODE:精确匹配

          /MODE:任何一类对象中的权限中一位能匹配就行,也就是或关系,“+”在centos7以后就被替换了

          -MODE:每一类对象必须有指定权限

    实例:查找根目录下有特殊权限位的文件

           find / -perm /7000 -ls

    3.png

    发现只要有任意对象的权限满足一位就行

    实例二、查找/etc下权限为644的文件

     4.png

      发现匹配到的文件权限都是644

  3. 作业

     (1)查找/var目录下属主为root,且属组为mail的所有文件

    1.1.png

     (2)查找/var目录下不属于root,lp,gdm的所有文件

    2.2.png

     (3)查找/var目录下,其内容最近一周修改过,同时属主不是root,也不是postfix的文件

    3.png

     (4)查找系统上没有属主或属组,且最近一周被访问过的文件

    4.png

     (5)查找/etc目录下,文件大小大于1M,且文件类型为普通文件的所有文件

     5.png

     (6)查找/etc下所有用户都没有写权限的文件

    1.png

      (7)查找/etc/下至少有一类用户没有执行权限的文件

    2.png

      (8)查找/etc/init.d下,所有用户都有执行权限,其他用户有写权限的文件

    8.png

    没有找到符合条件的文件

     

原创文章,作者:mengzhiqian,如若转载,请注明出处:http://www.178linux.com/36320

(1)
mengzhiqianmengzhiqian
上一篇 2016-08-18
下一篇 2016-08-18

相关推荐

  • rsyslog应用举例

    rsyslog+mysql+loganalyzer 1、yum install mariadb-server php-gd rsyslog-mysql ##连接到mysql需要的驱动程序,用来保存信息 2、登录数据库并给rsyslog赋权,设置密码,重读授权表 3、以rsyslog用户身份登录数据库,此时创建Syslog库,注意此处数据库名称要与rsyslo…

    Linux干货 2016-10-23
  • 什么叫Linux

    什么叫linux:     Linux是一套免费使用和自由传播的类Unix操作系统,它主要用于基于Intel x86系列CPU的计算机上。这个系统是由全世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。 谁编写的linux: Linux的出现,最早…

    Linux干货 2017-03-27
  • HA Cluster-主备模型(项目实战)

    主机环境:主机A和主机B使用的是CentOS7.2的系统:    主机A IP地址为:192.168.1.103     主机B IP地址为:192.168.1.106     向外界提供的服务的地址为:192.168.1.100配置过程:…

    Linux干货 2016-11-01
  • shell脚本编程基础练习

    这周,我们学习了shell脚本基础,那么什么是shell脚本呢? shell script是利用shell的功能所写的一个程序,这个程序是使用纯文本文件,将一些shell的语法与指令写在里面,然后用正则表达式,管道命令以及重定向向等功能,以达到我们所想要的处理目的。Shell脚本可以帮助我们系统、自动化的去管理和处理一些东西 下面是摘抄出的几个练习: 首先,…

    2017-08-05
  • 网络管理基础

    什么是网络?    在计算机领域中,网络是信息传输,接受,共享的虚拟平台,通过它把各个点,面体的信息联系到一起, 从而实现这些资源的共享。 网路物理组件     终端:可发送和接受数据的,如计算机。移动设备,打印机,服务器….    互联设备:互联…

    Linux干货 2016-09-06
  • 记事本操作的小小小技巧

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://jeffyyko.blog.51cto.com/28563/140063       大家在查看文本文件的时候,如果内容很多,想快速到达某一位置可能比较麻烦,这时如果按住shift,再点击右侧…

    Linux干货 2015-03-26

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-19 14:43

    find命令中最难理解的是-perm选项了,将其中最难理解的部分通过实验总结成博文,是个好习惯,希望以后继续这样做。