码迷,mamicode.com
首页 > 其他好文 > 详细

文件特殊权限

时间:2016-05-13 13:33:32      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:

技术分享一、SetUID


案例


技术分享

psswd的所有者(root)权限不是所谓的rwx,而是rws,这有什么特殊含义没,我们再来看看下一个文件

技术分享

这个文件就是我们前面说的过的存放用户密码的文件,但是我们发现这个文件的所有权限是关闭的(当然这对root用户无效)

这时会出现一个问题,passwd命令对于普通用户是可执行的。当普通用户执行passwd来修改密码时,那么passwd的执行者将是普通用户。而passwd操作对象应该是shadow文件,它需要将用户的密码保存进shadow文件。从上面的图中可知shadow文件是被禁止修改的。那么可以简单的来说普通用户是如何修改shadow文件的。

要求


  • 这有可执行程序设定SUID才有意义
  • 命令的执行者拥有该文件的执行该权限
  • 当命令执行者执行该文件时,将会临时获得该文件所有者身份(简单的理解就是变身)
  • 当程序执行完,又恢复本尊

解决案例


当普通用户执行passwd命令时,会“变身”为root用户,而root用户是无视规则的,可以直接修改shadow文件,那么passwd程序也就有了可以修改该文件的权限。我们可以对比cat命令来看。

技术分享

当我用普通用户来执行cat命令

技术分享

直接被拒绝,这是因为cat并没有让普通用户变身的能力

setuid的使用


  增加S权限

  •  chmod 4755 文件名

  • chmod u+s 文件名

  取消权限

  • chmod 755 文件名
  • chmod u-s 文件名

实践


 

让普通用户可以查看shadow,注意这很危险

技术分享

 技术分享

 技术分享

文件特殊权限

标签:

原文地址:http://www.cnblogs.com/xidongyu/p/5487452.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!