Chinaunix首页 | 论坛 | 博客
  • 博客访问: 213474
  • 博文数量: 489
  • 博客积分: 410
  • 博客等级: 下士
  • 技术积分: 2590
  • 用 户 组: 普通用户
  • 注册时间: 2011-09-01 22:50
文章分类

全部博文(489)

文章存档

2011年(489)

我的朋友

分类:

2011-09-04 12:43:21

文件及目录的suid/guid和t属性



1. 4000---调整用户号
   2000---调整组号
   1000---粘着置位 

2. suid/guid程序
   当一个程序的用户或组被置位的时候,即4000或2000时,可实现某些特殊的功能一般来说,
   一个运行中的程序为运行这个程序的用户所拥有,但如果该程序是suid/guid程序,则运行
   的程序则为文件所有者拥有,运行中的程序在程序运行期间拥有文件所有者的全部权限
   如果一个普通用户运行了一个属于根用户的带s标志的程序,则该程序不考虑用户权限,
   自动拥有在系统中读/写任何文件及目录的特权,对于guid程序也是一样的。
   最典型的要数/usr/bin/passwd程序了,-r-s--x--x ,可帮助普通用户更改在系统中的密码,
   利用的就是suid的作用。 但也要严格设置这种权限,避免破坏性,

因为如果你的suid程序是/bin/bash的话,则会导致严重后果,一个普通用户若在某个短时间
取得过root权限,他就能设置一个suid程序/binb/bash来取得根特权。
(若拿它来破坏别人的系统,后果自负)

# cp /bin/bash /home/jephe/.backdoor

# chmod 4755 /home/jephe/.backdoor

这样当攻击者执行了/home/jephe/.backdoor后就得到了根特权,可用id命令显示suid=0

因此一个管理员应定期运行检查程序检查系统内有无异常的suid/guid程序:象下面这样的命令

#find / -type f \( -perm -04000 -o -perm -02000 \) \-exec ls -lg {} \; >suid-sguid-results

把上面的命令放入cron job并邮递文件suid-guid-resuilts给管理员邮箱帐号.

3. 程序的t属性
粘着位 告诉系统在程序完成后在内存中保存一份运行程序的备份,如该程序常用,可为系统
节省点时间,不用每次从磁盘加载到内存


4.目录的s属性 

目录的S属性使得在该目录下创建的任何文件及目录属于该目录所拥有的组。
例如在apache中为个人设置WEB目录的时候,如果给apache分配的组名为httpd.
则:

#chown -R jephe.httpd ~jephe/public_html
#chmod -R 2770 ~jephe/public_html

确保在public_html中创建新的文件或子目录时,新创建的文件设置了组ID。

另外如有两个用户a和b都属于组c,则希望在某目录下a创建的文件也能被b修改,则
可设置该目录chmod +s属性,同时设置a和b的默认umask为770。

5. 目录的T属性
设置了目录的T属性后1000,由只有该目录的所有者及root才能删除该目录,如
/tmp目录就是drwxrwxrwt

6.  文件及目录的三种时间位 
每个Linux文件有三种保存着的时间日期标志。

文件建立时间 (实际上是文件I节点建立时间) 
文件最后访问时间
文件最后修改时间


默认ls -l时显示的是文件最后修改时间,也可用ls -l --time=atime(文件最后访问时间)
ls -l --time=ctime(文件建立时间)

可用touch命令改变时间日期标志,从而可隐蔽攻击者对文件放置特洛伊木马后对文件时间
的修改

7。可用chattr改变文件及目录的属性。

有时你会发现对某个文件即使是root用户也不能修改或添加新内容,那很可能是该文件被
用chattr命令设置成不可更改或附加新内容了。你必须先用chattr去掉这些属性再更改内容。



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