Linux中的 德·摩根定律

Linux中的 德·摩根定律

§·德·摩根定律介紹

※概念

在命題邏輯和邏輯代數中,德·摩根定律(或稱德·摩根定理)是關于命題邏輯規律的一對法則。

奧古斯塔斯·德·摩根首先發現了在命題邏輯中存在著下面這些關系:

非(P 且 Q) = (非 P) 或 (非 Q)

非(P 或 Q) = (非 P) 且 (非 Q)

德·摩根定律在數理邏輯的定理推演中,在計算機的邏輯設計中以及數學的集合運算中都起著重要的作用。

※模型圖解

摩根定律.jpg 

 

如上圖:D表示藍色區域,A代表白色區域,B代表黃色區域,E代表(AB相交的區域)

我們大概來了解下摩根定律是怎樣的思路:

◎測試一:非(P 且 Q) = (非 P) 或 (非 Q)

·(P Q):

P Q的區域為:E的區域 ;  E即為,ABD的區域。

·(P) (Q) :

P : D B 的區域

P : A D 的區域

P或非P ABD的區域。

·結果:非(P Q) = (P) (Q)

 

◎測試二:非(P 或 Q) = (非 P) 且 (非 Q)

·(P Q) :

PQ:即為 ABE的區域;  非ABE的區域:即為 D的區域。

·(P) (Q)

P:即為BD的區域; 非Q:即為AD的區域BD的區域與AD的區域合集:D的區域。

·結果:非(P Q) = (P) (Q)

 

§·Linux中德·摩根定律思想練習題

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

解:find /var -user root -a -group mail -ls

[root@Centos7 zipdir]# find /var -user root -a -group mail -ls
201327962    0 drwxrwxr-x   2 root     mail           69 Aug 12 11:19 /var/spool/mail
206430755 1180 -rw-------   1 root     mail      1208282 Aug 10 19:24 /var/spool/mail/root

 

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

解:

[root@Centos7 zipdir]# find /var -not -user root  -a -not -user lp -a -not -user gdm -ls
#不是root,不是lp,不是gdm的屬主文件及為:非(root  或  lp 或  gdm的文件) 
表達式可改為: find  /var -not  \(-user root -o -user lp -o -user gdm\)
203409068    0 drwxr-xr-x   2 unbound  unbound        21 Jul 21 11:27 /var/lib/unbound
203409069    4 -rw-r--r--   1 unbound  unbound       409 Nov 20  2015 /var/lib/unbound/root.key
68465684    0 drwx------   2 tss      tss             6 Nov 21  2015 /var/lib/tpm
949938    0 drwxr-xr-x   3 colord   colord         50 Jul 21 11:35 /var/lib/colord
68485813    0 drwxr-xr-x   2 colord   colord          6 Nov 20  2015 /var/lib/colord/icc
2229271    4 -rw-r--r--   1 colord   colord       4096 Jul 21 11:35 /var/lib/colord/mapping.db
899622    8 -rw-r--r--   1 colord   colord       7168 Jul 21 11:35 /var/lib/colord/storage.db
961784    0 drwxr-xr-x   2 geoclue  geoclue         6 Nov 20  2015 /var/lib/geoclue
965063    0 drwx------   2 rpc      rpc             6 Nov 20  2015 /var/lib/rpcbind
68510463    0 drwxr-xr-x   2 chrony   chrony          6 Nov 24  2015 /var/lib/chrony

#與上面的結果一樣

[root@Centos7 zipdir]# find  /var -not \( -user root -o -user lp -o -user gdm \) -ls
203409068    0 drwxr-xr-x   2 unbound  unbound        21 Jul 21 11:27 /var/lib/unbound
203409069    4 -rw-r--r--   1 unbound  unbound       409 Nov 20  2015 /var/lib/unbound/root.key
68465684    0 drwx------   2 tss      tss             6 Nov 21  2015 /var/lib/tpm
949938    0 drwxr-xr-x   3 colord   colord         50 Jul 21 11:35 /var/lib/colord
68485813    0 drwxr-xr-x   2 colord   colord          6 Nov 20  2015 /var/lib/colord/icc
2229271    4 -rw-r--r--   1 colord   colord       4096 Jul 21 11:35 /var/lib/colord/mapping.db
899622    8 -rw-r--r--   1 colord   colord       7168 Jul 21 11:35 /var/lib/colord/storage.db
961784    0 drwxr-xr-x   2 geoclue  geoclue         6 Nov 20  2015 /var/lib/geoclue
965063    0 drwx------   2 rpc      rpc             6 Nov 20  2015 /var/lib/rpcbind
68510463    0 drwxr-xr-x   2 chrony   chrony          6 Nov 24  2015 /var/lib/chrony

 

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

解:屬主不為 root,也不是postfix即為: –not -user root  -a  -not  -user postfix

等同:-not  \( -user root  -o -user postfix \)

[root@Centos7 zipdir]# find /var -mtime -7 -not \( -user root -o -user postfix \) -ls
136800283    0 drwxr-xr-x   2 gdm      gdm            17 Aug 10 17:17 /var/lib/gdm/.config/dconf
2229275    0 drwx------   2 gdm      gdm            52 Aug 10 17:17 /var/lib/gdm/.config/ibus/bus
206776371    0 -rw-rw----   1 user1    mail            0 Aug 10 16:58 /var/spool/mail/user1
206824171    0 -rw-rw----   1 user2    mail            0 Aug 12 11:19 /var/spool/mail/user2

…………………………………..

 

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

解: 沒有屬主: -nouser  ,沒有屬組:-o  -nogroup , 并且一周內訪問過:-a  –atime -7

[root@Centos7 /]# find /  -nouser -o  -nogroup  -a -atime -7
/var/spool/mail/user2
/home/user2
/home/user2/.mozilla
/home/user2/.mozilla/extensions
/home/user2/.mozilla/plugins
/home/user2/.bash_logout
/home/user2/.bash_profile
/home/user2/.bashrc

 

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

解:大于1M : –size +1M  并且為普通文件: –a  -type f

[root@Centos7 user1]# find /etc  -size +1M -type f -exec ls -lh {} \;
-rw-r--r--. 1 root root 3.7M Nov 21  2015 /etc/selinux/targeted/policy/policy.29
-r--r--r--. 1 root root 6.7M Jul 21 11:35 /etc/udev/hwdb.bin
-rw-r--r--. 1 root root 1.4M Mar  6  2015 /etc/brltty/zh-tw.ctb

 

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

解:所有用戶都沒有寫權限的反義就是:有一類用戶有寫權限  -prem  /222

[root@Centos7 user1]# find /etc -not -perm  /222 -ls
67413670  196 -r--r--r--   1 root     root       198453 Jul 21 11:24 
201996308  208 -r--r--r--   1 root     root       211626 Jul 21 11:24 
137245057    4 ----------   1 root     root          815 Aug 12 20:32 /etc/gshadow
135047292    4 ----------   1 root     root          825 Aug 12 11:19 /etc/gshadow-
137245052    4 ----------   1 root     root         1389 Aug 12 20:32 /etc/shadow
135052857    4 ----------   1 root     root         1417 Aug 12 11:19 /etc/shadow-
206307131 6852 -r--r--r--   1 root     root      7014922 Jul 21 11:35 /etc/udev/hwdb.bin
135090020    4 -r--r--r--   1 root     root           33 Jul 21 11:27 /etc/machine-id
68801984    4 -r--r--r--   1 root     root          146 Nov 20  2015 /etc/pam.d/cups
136632557    8 -r--r-----   1 root     root         4188 Jul  7  2015 /etc/sudoers

 

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

解:至少一類用戶沒有執行權限反義即為:所有用戶都有執行權限: –prem -111,取反即為我們需要的結果。

[root@Centos7 user1]# find /etc -not -perm -111 -ls
136456397    0 -rw-r--r--   1 root     root            0 Jun 10  2014 /etc/wvdial.conf
136456374    4 -rw-r--r--   1 root     root          508 Jan 27  2014 /etc/updatedb.conf
206058477   24 -rw-r--r--   1 root     root        20876 Jun 10  2014 /etc/postfix/access
206058478   12 -rw-r--r--   1 root     root        11681 Jun 10  2014 /etc/postfix/canonical
206062758    4 -rw-------   1 root     root           86 Nov 20  2015 /etc/ntp/keys
206062759    4 -rw-r--r--   1 root     root           74 Nov 20  2015 /etc/ntp/step-tickers
136606754    8 -rw-r--r--   1 root     root         5171 Jun 10  2014 /etc/man_db.conf
136632555    4 -rw-r-----   1 root     root         3181 Jul 25  2013 /etc/sudo-ldap.conf
136632556    4 -rw-r-----   1 root     root         1786 Sep 25  2012 /etc/sudo.conf
136632557    8 -r--r-----   1 root     root         4188 Jul  7  2015 /etc/sudoers
136632558    0 drwxr-x---   2 root     root            6 Nov 21  2015 /etc/sudoers.d
136632590    8 -rw-r--r--   1 root     root         4760 Jun 10  2014 /etc/enscript.cfg
136584837    4 -rw-r--r--   1 root     root          375 Nov 20  2015 /etc/trusted-key.key
136584974    4 -rw-r--r--   1 root     root         2872 Jun 10  2014 /etc/pinforc
136629111    8 -rw-r--r--   1 root     root         4479 Oct 31  2014 /etc/wgetrc
136602363   12 -rw-r--r--   1 root     root         8892 Jun 10  2014 /etc/nanorc
136745232    4 -rw-r--r--   1 root     root         1362 Jun 10  2014 /etc/pbm2ppa.conf
136745233    8 -rw-r--r--   1 root     root         6300 Jun 10  2014 /etc/pnm2ppa.conf
136832965    4 -rw-r--r--   1 root     root           37 Jul 21 11:34 /etc/vconsole.conf
136832967    4 -rw-r--r--   1 root     root           19 Jul 21 11:34 /etc/locale.conf
136832968    4 -rw-r--r--   1 root     root           14 Jul 21 11:34 /etc/hostname
136606740    4 -rw-r--r--   1 root     root          163 Jul 21 11:23 /etc/.updated
136632726   12 -rw-r--r--   1 root     root        12288 Jul 21 11:35 /etc/aliases.db
136800164    8 -rw-r--r--   1 root     root         6722 Aug 13  2015 /etc/screenrc
137072884    0 -rw-r--r--   1 root     root            0 Aug  9 21:17 /etc/111aa
.................................................................

 

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

解:所有用戶有執行權限: –prem -111  ,其它用戶有寫權限: -prem –001

[root@Centos7 init.d]# find /etc/init.d/  -perm -111   -perm  -002 -ls
2642165    0 -rwxr-xrwx   1 root     root            0 Aug 12 17:18 /etc/init.d/f1
[root@Centos7 init.d]#

 

原創文章,作者:linux_root,如若轉載,請注明出處:http://www.www58058.com/34313

(0)
linux_rootlinux_root
上一篇 2016-08-15 09:25
下一篇 2016-08-15 09:26

相關推薦

  • LAMP基于編譯安裝方式實現(httpd與php以fastcgi方式結合)3

    概述     在某些現有rpm包不能滿足需求的時候,可能需要編譯安裝LAMP環境,本篇就介紹下php與httpd結合方式為fastcgi方式結合時的編譯安裝,同時,由于httpd與php以module方式結合時,僅是編譯選項有所差別,故也會簡單說明下編譯選項的差異 環境     CentOS7系統,…

    Linux干貨 2016-10-17
  • Linux 目錄配置

    Linux 目錄配置 Linux目錄配置標準:FHS 因為利用Linux來開發產品或distributions的團隊/公司與個人實在太多了,如果每個人都用自己的想法來配置文件放置的目錄,那么將可能造成很多管理上的困擾。所以/后來就有所謂的Filesystem Hierarchy Standard (FHS)標準出爐了。 根據FHS(http://www.pa…

    Linux干貨 2017-03-26
  • Linux第一周學習博客作業

    對第一周學習的內容進行總結

    Linux干貨 2017-12-02
  • 08.02 筆記總結

    1. newgrp 用來臨時切換主組。    root 切換, 不需要組密碼。    而普通用戶切換是需要組密碼的。    newgrp 組名  用來切換當前用戶的組信息 2. pwunconv     //  將密碼的密文復制到/etc/passw…

    Linux干貨 2016-08-08
  • Linux Service and Security(Part 1)

    一、知識整理 1、不安全的傳統協議: telnet、FTP、POP3等:不安全的密碼; http、smtp、NFS等:不安全信息; Ldap、NIS、rsh等:不安全驗證。 設計基本原則: 使用成熟的安全系統; 以小人之心度輸入數據; 外部系統是不安全的; 最小授權; 減少外部接口; 缺省使用安全模式; 在入口處檢查; 安全不是似是而非; 從管理上保護好系統…

    Linux干貨 2016-10-09
  • linux系統基礎目錄結構及功能說明

    linux系統基礎目錄結構及功能說明 [root@localhost /]# ls bin boot dev etc home host lib lib64 media mnt opt proc root run sbin srv sys tmp usr var /bin:所有用戶可用的基本命令程序文件;/sbin:供系統管理使用的工具程序;/boot:引導…

    Linux干貨 2018-03-04

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-08-19 09:41

    find命令基本是筆試題中必考的內容,也是我們查找文件的最重要的工具,而這其中最難的估計是-perm選項的理解了,只有深刻理解的摩根定律才能讓我們熟練的運用find工具。

欧美性久久久久