按照文件權限模式用-perm選項,按文件權限模式來查找文件的話。最好使用八進制的權限表示法。 如在當前目錄下查找文件權限位為755的文件,即文件屬主可以讀、寫、執行,其他用戶可以讀、執行的文件,可以用: de>$ find . -perm 755 -printde> 還有一種表達方法:在八進制數字前面要加一個橫杠-,表示都匹配,如-007就相當於777,-006相當於666 de># ls -l -rwxrwxr-x 2 sam adm 0 10月 31 01:01 http3.conf -rw-rw-rw- 1 sam adm 34890 10月 31 00:57 httpd1.conf -rwxrwxr-x 2 sam adm 0 10月 31 01:01 httpd.conf drw-rw-rw- 2 gem group 4096 10月 26 19:48 sam -rw-rw-rw- 1 root root 2792 10月 31 20:19 temp # find . -perm 006 # find . -perm -006 ./sam ./httpd1.conf ./tempde> -perm mode:文件許可正好符合mode -perm +mode:文件許可部分符合mode -perm -mode: 文件許可完全符合mode 我們首先創建下面的一個例子 #ls -l ./testdir ——S— 1 root root 0 2008-05-06 10:39 2000 —S—— 1 root root 0 2008-05-06 10:39 4000 —S–S— 1 root root 0 2008-05-06 10:39 6000 -rwS–S— 1 root root 0 2008-05-06 10:39 6600 我創建了4個文件,都具有suid/sgid位。 假定我執行 find . -type f -perm 6000 那么我們顯然可以得到下面的結果 ./60000 這屬於完全匹配。 如果執行find . -type f -perm -6000呢,其結果是: ./6000 ./6600 這里的-號表示有1的位置一定要正確匹配,其他無所謂。這里要轉成二進制來說,首先6000轉成三位的二進制是下面這個樣子 110 000 000 000 這表示前面兩個1一定要匹配,其他無所謂。那能匹配的就是6000,6600兩個文件,其權限二進制轉換過來分別是 110 000 000 000 110 110 000 000 而如果是執行find . -type f -perm +6000呢,結果會怎樣? 我們看看結果 ./6000 ./2000 ./4000 ./6600 +號的意思是,只要有一個1匹配就行了,也就是說前2位中,只要有一個1就行,所以上面的都符合要求,因為翻譯成二進制變成 110 000 000 000 010 000 000 000 100 000 000 000 110 110 000 000 所以,從上面的結果可以看出,命令find . -type f -perm +6000就是指定目錄下所有具有suid/sgid的程序。 這是在做安全維護的時候,應該常使用的一個指令。我們首先創建下面的一個例子 #ls -l ./testdir ——S— 1 root root 0 2008-05-06 10:39 2000 —S—— 1 root root 0 2008-05-06 10:39 4000 —S–S— 1 root root 0 2008-05-06 10:39 6000 -rwS–S— 1 root root 0 2008-05-06 10:39 6600 我創建了4個文件,都具有suid/sgid位。 假定我執行 find . -type f -perm 6000 那么我們顯然可以得到下面的結果 ./60000 這屬於完全匹配。 如果執行find . -type f -perm -6000呢,其結果是: ./6000 ./6600 這里的-號表示有1的位置一定要正確匹配,其他無所謂。這里要轉成二進制來說,首先6000轉成三位的二進制是下面這個樣子 110 000 000 000 這表示前面兩個1一定要匹配,其他無所謂。那能匹配的就是6000,6600兩個文件,其權限二進制轉換過來分別是 110 000 000 000 110 110 000 000 而如果是執行find . -type f -perm +6000呢,結果會怎樣? 我們看看結果 ./6000 ./2000 ./4000 ./6600 +號的意思是,只要有一個1匹配就行了,也就是說前2位中,只要有一個1就行,所以上面的都符合要求,因為翻譯成二進制變成 110 000 000 000 010 000 000 000 100 000 000 000 110 110 000 000 所以,從上面的結果可以看出,命令find . -type f -perm +6000就是指定目錄下所有具有suid/sgid的程序。 這是在做安全維護的時候,應該常使用的一個指令 |