電子眼find

 1、摩根定律。

        話不多說,先上圖。

        QQ圖片20160815210119.png

如圖:A和B交集為3
    A = 4 + 3
    B = 3 + 2
    C = 1


     !A = 1 + 2
     !B = 1 + 4

     ( A 且 B ) = 3 = ! ( 4 + 2 + 1 )
     ( A 或 B ) = 4 + 3 +2 = !C

進一步得出:

     (非A)或(非B)=非(A且B)

     (非A)且(非B)=非(A或B)

在linux中體現為:

      與:-a
      或:-o
      非:-not, !

 德·摩根定律即:

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

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

總結一句話:
      給AB加上括號 !拿出括號外   ,且變或,或變且
      給AB去掉括號 !拿放進括號內,且變或,或變且

例:
      屬主不是root,且屬主不是postfix
          -not \( -user root -o -user postfix  \) = -not -user root -a -not user postfix
      屬主是root,或者是lp
          -user root -o -user lp = -not \( -not -user root -a -not -user lp \)

2、find的條件權限

    -perm [/|-]MODE
      MODE: 精確權限匹配
           當目標文件權限為 222 時,find -perm 222才會匹配
      /MODE:任何一類(u,g,o)對象的權限中只要能一位匹配即可,等價于或,CentOS 6及以前用+表示/
           只要當任意人有寫權限時, find -perm +222就會匹配
      -MODE:每一類對象都必須同時擁有為其指定的權限標準,等價于且
           只有當每個人都有寫權限時, find -perm -222才會匹配
           只有當其它人( other)有寫權限時, find -perm -002才會匹配


作業:   

1、查找/var目錄下屬主為root,且屬組為mail的所有文件

[root@ _9_ ~]# find /var -user root -a -group mail -ls
67151194    0 drwxrwxr-x   2 root     mail           99 8月 15 09:25 /var/spool/mail
73113649    4 -rw-------   1 root     mail         4034 8月 14 16:00 /var/spool/mail/root

2、查找/var目錄下不屬于root、 lp、 gdm的所有文件

[root@ _11_ ~]#  find /var -not \( -user root -o -user lp  -o -user gdm  \) -ls |head -2
69533372    0 drwxr-xr-x   2 unbound  unbound        21 7月 19 22:34 /var/lib/unbound
69533373    4 -rw-r--r--   1 unbound  unbound       409 11月 20  2015 /var/lib/unbound/root.key

3、查找/var目錄下最近一周內其內容修改過,同時屬主不為root,也不是postfix的文件

[root@ _13_ ~]# find /var -mtime -7 -not \( -user root -o -user postfix  \) -ls
862201    0 drwxr-xr-x   2 chrony   chrony         18 8月 15 19:28 /var/lib/chrony
2925769    4 -rw-r--r--   1 chrony   chrony         42 8月 15 19:28 /var/lib/chrony/drift
103058276    8 -rw-------   1 setroubleshoot setroubleshoot     6410 8月  9 16:10 /var/lib/setroubleshoot/setroubleshoot_database.xml
70308468    0 drwxr-xr-x   2 lp       sys            80 8月  9 09:32 /var/log/cups

4、查找當前系統上沒有屬主或屬組,且最近一個周內曾被訪問過的文件

[root@ _14_ ~]#     find / -atime -7 -a \( -nouser -o -nogroup \) -ls

5、查找/etc目錄下大于1M且類型為普通文件的所有文件

[root@ _15_ ~]# find /etc/ -size +1M -type f -ls
102768436 1304 -rw-------   1 root     root      1333123 8月  9 17:15 /etc/selinux/targeted/contexts/files/file_contexts.bin
34132148 3688 -rw-r--r--   1 root     root      3773297 8月  9 17:15 /etc/selinux/targeted/policy/policy.29
72580709 6852 -r--r--r--   1 root     root      7014922 7月 19 23:01 /etc/udev/hwdb.bin
34815969 1336 -rw-r--r--   1 root     root      1367395 3月  6  2015 /etc/brltty/zh-tw.ctb

6、查找/etc目錄下所有用戶都沒有寫權限的文件

[root@ _18_ ~]# find /etc/ -not -perm -222 -ls |head -3
33554561   12 drwxr-xr-x 130 root     root         8192 8月 16 08:46 /etc/
33554562    4 -rw-r--r--   1 root     root          501 7月 19 22:27 /etc/fstab
33554563    0 -rw-------   1 root     root            0 7月 19 22:27 /etc/crypttab

7、查找/etc目錄下至少有一類用戶沒有執行權限的文件

[root@ _20_ ~]#  find /etc/ -perm /111 -ls |head -3
33554561   12 drwxr-xr-x 130 root     root         8192 8月 16 08:46 /etc/
33554564    0 lrwxrwxrwx   1 root     root           17 7月 19 22:27 /etc/mtab -> /proc/self/mounts
67149963    0 drwxr-xr-x   3 root     root           36 7月 19 22:30 /etc/fonts

8、查找/etc/init.d目錄下,所有用戶都有執行權限,且其它用戶有寫權限的文件

[root@ _21_ ~]#   find /etc/init.d -perm -113 -ls
33697942    0 lrwxrwxrwx   1 root     root           11 7月 19 22:29 /etc/init.d -> rc.d/init.d


原創文章,作者:M20-1--孔祥文,如若轉載,請注明出處:http://www.www58058.com/36269

(0)
M20-1--孔祥文M20-1--孔祥文
上一篇 2016-08-16 13:59
下一篇 2016-08-16 13:59

相關推薦

  • 計算機組成原理

                                 計算機組成原理 Linux 操作系統是UNIX 操作系統的一種克隆系統。它誕生于1991 年的10 月5 日(這是第一次正式向外公布的時間)。以后借助于…

    Linux干貨 2016-10-27
  • 關于壓測的宏觀個人總結

    工作角色定位 首先先從宏觀角度來評估下本次的壓測工作. 從工作職責上說本次壓測理應由組內其它同學來完成,個人從旁協助或指導即可。團隊成員的成長對我個人來說才是更大的成長。所以即使這次壓測工作完成的再出色,都會因為是由我來完成的,所以都不能稱之為優秀的。對我個人的成長最多是項目經驗的增長和問題的積累,但對組員來說如何讓他們做到現有成果的80%是我需要幫助他們來…

    Linux干貨 2015-04-21
  • Linux基礎知識(四)-正則表達式grep,egrep

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 2、編輯/etc/group文件,添加組hadoop。 3、手動編輯/etc/passwd文件新增一行,添加用戶hadoop,其基本組ID為hadoop組的id號;其家目錄為/home/hadoop。 4、復制/etc/sk…

    Linux干貨 2016-10-17
  • NFS,samba,vsftpd的基本使用

    一.NFS介紹 NFS(Network File System),全名叫做網絡文件系統,是由SUN公司研發的。顧名思義,簡單理解就是通過網絡互聯,將本地的文件系統共享出去,從而實現資源的共享,NFS監聽在TCP的2049端口上。當涉及到主機之間的通信時,就會存在安全問題,于是為了安全考慮,主動提出請求的一方(客戶端)需要提供一些基本信息來認證,這些信息是需要…

    Linux干貨 2017-01-04
  • tar,cpio,rpm,yum的使用詳解(適合初學者)

    基于linux下的tar包管理和yum源配置 友情提示:對于這些實際操作的,還是需要進行手工的嘗試,由于這幾個對于包管理的是比較常用和實用的, 所以,一定要熟練使用。 1.tar tar是對于系統中文件,目錄等進行打包,解包的工具。tar也可以對文件進行打包存放到別的目錄下, 所以在很早的時候,一些老的工程師經常使用tar對文件進行備份。很大程度上,所謂的t…

    Linux干貨 2016-08-21
  • 馬哥教育網絡19期+第十三周課程練習

    1、建立samba共享,共享目錄為/data,要求:(描述完整的過程)   1)共享名為shared,工作組為magedu;   2)添加組develop,添加用戶gentoo,centos和ubuntu,其中gentoo和centos以develop為附加組,ubuntu不屬于develop組;密碼均為用戶名;   3)添加s…

    Linux干貨 2016-08-12

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-08-18 15:42

    通過圖片展示了自己對摩根定律的理解,不錯,摩根定律只是find查找命令的一個選項,需要我們能對find有個完整的總結。find命令對我們來說很常用,所以希望作業能梳理好。

欧美性久久久久