Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1782377
  • 博文数量: 297
  • 博客积分: 285
  • 博客等级: 二等列兵
  • 技术积分: 3006
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-06 22:04
个人简介

Linuxer, ex IBMer. GNU https://hmchzb19.github.io/

文章分类

全部博文(297)

文章存档

2020年(11)

2019年(15)

2018年(43)

2017年(79)

2016年(79)

2015年(58)

2014年(1)

2013年(8)

2012年(3)

分类: LINUX

2015-10-08 09:35:35

首先是有这个命令,+逻辑是的意思,-逻辑或的意思,+6000就是或者SUID/SGID/或者两个都有

点击(此处)折叠或打开

  1. find / -type f -perm -4000 -ls
  2. find / -type f -perm -2000 -ls
  3. find / -type f -perm -6000 -ls
但是问题马上来了

点击(此处)折叠或打开

  1. # find / -type f -perm -4000 -ls
  2. find: ‘/proc/40000/task/40000/fdinfo/6’: No such file or directory
  3. find: ‘/proc/40000/fdinfo/6’: No such file or directory
  4. find: ‘/run/user/1000/gvfs’: Permission denied
怎么把/proc和/run去掉呢,搜索半天,发现下面的命令。

点击(此处)折叠或打开

  1. find / \( -path /proc -o -path /run \) -prune -perm -4000 -exec ls -ld {} \        #wrong way to find SUID file
  2. find / \( -path /proc -o -path /run \) -prune -perm -6000 -exec ls -ld {} \        #wrong way to find SUID/SGID/ file
  3. find / \( -path /proc -o -path /run \) -prune -o  -perm -4000 -print                #right way to find SUID file
  4. find / \( -path /proc -o -path /run \) -prune -o  -perm -6000 -print                #right way to find SUID/SGID/ file
  5. 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 可以删除。

点击(此处)折叠或打开

  1. drwxrwxrwt - Sticky Bits - chmod 1777
  2. drwsrwxrwx - SUID set - chmod 4777
  3. drwxrwsrwx - SGID set - chmod 2777
  4. #rwS 意味着文件不可执行,需要chmod u+x file

阅读(3667) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~