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 10:10
下一篇 2016-08-18 10:10

相关推荐

  • Linux基础知识之软件包管理(一)

    软件包管理 1.软件运行环境 运维工作的任务: 系统管理、库调用管理(开发接触的多,运维接触的少),安装配置某些程序包,让程序包运行并提供相应类型的服务 程序执行的过程:     程序源代码–>预处理–>编译–>汇编–>链接     预处理:将代码…

    Linux干货 2016-08-22
  • 用户与用户组相关的配置文件与命令总结

    Linux 中用户与用户组相关的配置文件与命令总结 用户与用户组 UID、GID 名称解析与解析库(passwd、group、shadow、gshadow) 用户信息库/etc/passwd 用户密码信息/etc/shadow 组的信息库/etc/group 组的密码信息/etc/gshadow 用户管理命令 用户组管理命令 用户与用户组 Linux是一种多…

    2016-10-23
  • N26 第五周博客作业

    1、显示当前系统上root、fedora或user1用户的默认shell; 演示:     [root@263821a05cd9 /]# grep -E “^(root|fedora|user1)\>” /etc/passwd    root:x:0:0:root:/r…

    Linux干货 2017-03-05
  • N25 – Week 5 blog

    1. 显示当前系统上root, fedora或user1用户的默认shell [root@dhcp-10-129-6-166 ~]# grep -E "root|fedora|user1" /etc/passwd | grep -o "[^…

    Linux干货 2016-12-27
  • centos7上实现corosync V2 + pacemaker + pcs | crmsh备忘录

    1、集群配置的前提: 一、时间同步(ntpdate做crontab定时任务) 二、主机名和IP相互解析 三、基于ssh密钥主机互信 #ssh-keygen -t rsa #ssh-copy-id -i   集群的全生命周期管理工具: pcs: agent(pcsd) crmsh: agentless (pssh)     2、安…

    2017-11-15
  • DevOpsDays大会,818坐标上海,我们来啦!!!

    DevOpsDays 818, 坐标上海, DevOpsDays上海大会, 我们来啦!!! 我们来啦!!! 我们来啦!!! 重要的事情说三遍。 标签: 运维  移动开发  IT技术  DevOps  2008年的敏捷会议上,Andrew Clay Shafer 和 Patrick Debois 讨论了关于“敏…

    Linux干货 2017-08-10

评论列表(1条)

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

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