首先是有这个命令,+逻辑是的意思,-逻辑或的意思,+6000就是或者SUID/SGID/或者两个都有
-
find / -type f -perm -4000 -ls
-
find / -type f -perm -2000 -ls
-
find / -type f -perm -6000 -ls
但是问题马上来了
-
# find / -type f -perm -4000 -ls
-
find: ‘/proc/40000/task/40000/fdinfo/6’: No such file or directory
-
find: ‘/proc/40000/fdinfo/6’: No such file or directory
-
find: ‘/run/user/1000/gvfs’: Permission denied
怎么把/proc和/run去掉呢,搜索半天,发现下面的命令。
-
find / \( -path /proc -o -path /run \) -prune -perm -4000 -exec ls -ld {} \ #wrong way to find SUID file
-
find / \( -path /proc -o -path /run \) -prune -perm -6000 -exec ls -ld {} \ #wrong way to find SUID/SGID/ file
-
find / \( -path /proc -o -path /run \) -prune -o -perm -4000 -print #right way to find SUID file
-
find / \( -path /proc -o -path /run \) -prune -o -perm -6000 -print #right way to find SUID/SGID/ file
-
find / \( -path /proc -o -path /run \) -prune -o -perm -2000 -print
-prune 意味着不搜索/proc和/run 目录,而且-prun只能跟-print 连用,因此-exec 是错误的用法,什么都打印不出来。
下面复习下SUID/SGID/Sticky bit
SUID: 如/usr/bin/passwd
SUID: 如/usr/bin/wall
Sticky bit: 以前是为了文件常驻内存,现在只对/tmp 目录设置,任何人都可写,只有root 可以删除。
-
drwxrwxrwt - Sticky Bits - chmod 1777
-
drwsrwxrwx - SUID set - chmod 4777
-
drwxrwsrwx - SGID set - chmod 2777
-
#rwS 意味着文件不可执行,需要chmod u+x file
阅读(3682) | 评论(0) | 转发(0) |