2017-04-01 53 views
3

我試圖找到具有「SUID」權限的所有文件並將其寫入文本文件,但是當我運行以下命令時,文本文件爲空:查找所有已設置UID位的文件

sudo find/-perm 4000 > suid.txt 

我的命令有問題嗎?

回答

2

正確的語法是:

sudo find/-perm -4000 > suid.txt 

sudo find/-perm -u+s > suid.txt 

例如:

sudo find/-perm -4000 -exec ls -l {} + 

給出這個輸出:

-rwsr-xr-x 1 root root  30800 May 15 2015 /bin/fusermount 
-rwsr-xr-x 1 root root  94792 Sep 2 2015 /bin/mount 
-rwsr-xr-x 1 root root  44168 May 7 2014 /bin/ping 
-rwsr-xr-x 1 root root  44680 May 7 2014 /bin/ping6 
-rwsr-xr-x 1 root root  36936 Jan 27 2016 /bin/su 
<truncated> 

你的命令的問題是它正在尋找設置了uid位的模式位,並且沒有其他設置被設置。無論其他位如何,添加-前綴都會查找設置了uid的所有模式。

man find

-perm模式

文件的權限位是完全模式(八進制或符號)。 由於需要完全匹配,因此如果您想要將此表格用於 符號模式,則可能必須指定一個相當複雜的模式字符串。 例如,-perm g = w只會匹配具有模式0020(即 是,其中組寫入權限是唯一權限集的文件)的文件。 您更希望使用/' or - '表單,對於 示例-perm -g = w,它與任何具有組寫入 權限的文件相匹配。

-perm -mode

所有的權限位模式都是爲該文件設置的。符號 模式被接受在這種形式,這通常是 想要使用它們的方式。如果使用 符號模式,則必須指定u', g或'o'。