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

相关推荐

  • Linux文件管理&bash特性

    Linux上的文件管理命令 目录管理命令: mkdir:make directories mkdir [OPTION]… DIRECTORY… -p: 自动按需创建父目录; -v: verbose,显示详细过程; -m MODE:直接给定权限; 注意:路径基名方为命令的作用对象;基名之前的路径必须得存在; r…

    Linux干货 2016-09-28
  • shell脚本

    shell脚本 简介:         使用脚本编程语言的好处是,它们多半运行在比编译型语言还高的层级,能够轻易处理文件与目录之类的对象。缺点是:它们的效率通常不如编译型语言。不过权衡之下,通常使用脚本编程还是值得的:花一个小时写成的简单脚本,同样的功能用C或C++来编写实现,可…

    Linux干货 2016-08-15
  • N21天天第十周课程练习

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) CentOS主机按以下顺序启动 1、POST加电自检 2、BIOS读取CMOS中的BIOS设置的参数来识别基础硬件,寻找到启动设备 3、MBR 1)读取启动设备MBR中前446字节的bootloader 2)读取MBR后的扇区用来识别grub以及内核kernel所在的区域 3)启动g…

    Linux干货 2016-09-26
  • N25-第十三周博客作业

    1、建立samba共享,共享目录为/data,要求:(描述完整的过程) 1)共享名为shared,工作组为magedu;2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为用户名;3)添加samba用户gentoo,centos和ubu…

    Linux干货 2017-04-19
  • 第三周作业

    1.列出当前系统上所有已经登录的用户名,同一个用户登录多次,只显示一次 [root@localhost ~]# who |awk '{print $1}'|sort -u root 2.取出最后登录到当前系统的用户的相关信息 [root@localhost ~]#&nb…

    Linux干货 2016-12-13
  • 文本字符处理工具

    文件查看命令 cat,tac,rev cat [options] [file]     -E:显示行结束符     -n:显示行号                    nl file 也能实现相同的功能   …

    Linux干货 2017-02-25

评论列表(1条)

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

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