Chinaunix首页 | 论坛 | 博客
  • 博客访问: 486945
  • 博文数量: 173
  • 博客积分: 4112
  • 博客等级: 上校
  • 技术积分: 1577
  • 用 户 组: 普通用户
  • 注册时间: 2010-02-26 10:12
文章分类

全部博文(173)

文章存档

2012年(1)

2010年(172)

我的朋友

分类: LINUX

2010-03-25 22:48:05

>touch 2000
>touch 4000
>touch 6000
>touch 6600
>ls -l
-rw-r--r-- 1 root root 0 Sep  1 23:17 2000
-rw-r--r-- 1 root root 0 Sep  1 23:17 4000
-rw-r--r-- 1 root root 0 Sep  1 23:17 6000
-rw-r--r-- 1 root root 0 Sep  1 23:17 6600
>chmod 2000 2000
>chmod 4000 4000
>chmod 6000 6000
>chmod 6600 6600
>ls -l
------S--- 1 root root 0 Sep  1 23:17 2000
---S------ 1 root root 0 Sep  1 23:17 4000
---S--S--- 1 root root 0 Sep  1 23:17 6000
-rwS--S--- 1 root root 0 Sep  1 23:17 6600
--创建4个文件,都具有不同suid/sgid位。
>find /home -type f -perm 6000
/home/6000
--完全匹配
>find /home -type f -perm -6000
/home/6000
/home/6600
--这里的-号表示有1的位置一定要正确匹配。
 转成二进制来说:
  首先6000转成三位的二进制是下面这个样子  110 000 000 000
   表示前面两个1一定要匹配,能匹配的就是6000,6600两个文件,
   其权限二进制转换过来分别是 110 000 000 000
                 110 110 000 000
>find /home -type f -perm +6000
/home/6000
/home/2000
/home/4000
/home/6600
--这里+号表示,只要有一个1匹配就行了。
 也就是说前2位中,只要有一个1就行,4个文件都符合要求。
 翻译成二进制变成   110 000 000 000
                     010 000 000 000
                     100 000 000 000
                     110 110 000 000
  从结果可以看出,命令find . -type f -perm +6000就是指定目录下所有具有suid/sgid的程序。
阅读(873) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~