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

文件特殊权限

时间:2017-10-01 10:08:40      阅读:111      评论:0      收藏:0      [点我收藏+]

标签:应用   查询   ado   程序   suid   高级运维   否则   解决   执行文件   

                              文件特殊权限

                                                          作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

欢迎加入:   高级运维工程师之路               598432640

 

  Liunx学问博大精深,今天我们一起来学习一下比较有意思的三个特殊权限,虽然我们平时不常用,但是我们必须得知道,因为他们的作用在Linux操作系统的管理上起着举足轻重的作用,我们可不能小看他们哟,我们今天的主句就是SUID,SGID,SBIT三个权限的展示。

 

 

 

一.SetUID
1.setUID的功能
  a>.只有可以执行的二进制程序才能设定SUID权限;
  b>.命令执行者要对该程序拥有x(执行)权限;
  c>.命令执行者在执行该程序时获得该程序文件(拥有SUID权限的文件)属主的身份(在执行程序的灵魂附体为文件的属主);
  d>.SetUID权限只在改程序执行过程中有效,也就是说身份改变只在程序执行过程中有效;
案例:
  passwd命令拥有SetUID权限,所以普通用户可以修改自己的密码。cat命令没有SetUID权限,所以普通用户不能查看/etc/shadow文件内容:
                          技术分享
2.设定SetUID的方法
  4代表SUID权限
                                   技术分享
3.取消SetUID的方法
                                   技术分享
4.危险的SetUID
  a>.关键目录应严格控制写权限。比如“/”,“/usr”等
  b>.用户和密码设置要严格遵守密码的三原则;
  c>.对系统中默认应该具有SetUID权限的文件作一列表,定时检查有没有这之外的文件被设置了SetUID权限。
                                  技术分享
温馨提示:
  一旦你给一个命令设置了SUID权限,那么任何一个普通用户在运行这个命令编辑文件是,就会立刻获得root权限哟!所以要慎重解决你的操作呢!
 
二.SetGID
1.SetGID针对文件的作用
  a>.只有可执行的二进制才能设置SGID权限;
  b>.命令执行者要对改程序拥有x(执行)权限;
  c>.命令执行在执行程序的时候,组身份升级为该程序文件的数组;
  d>.SetGID权限同样只在改程序执行过程中有效,也就是说组身份改变只在程序执行过程中有效;
                           技术分享
  从上图我们可以看出:
      a>."/usr/bin/locate"是可执行二进制程序,可以赋予SGID;
      b>.其他用户对"/usr/bin/locate"命令时,组身份会升级为slocate组,而slocate组对"/var/lib/mlocate/mlocate.db"数据库拥有r权限,所以其他用户可以使用locate命令查询mlocate.db数据库。
      c>.命令结束,其他用户的组身份返回为其原来的组身份。
 
2.SetGID针对目录的作用
  a>.普通用户必须对此目录拥有r和x权限,才能进入此目录;
  b>.普通用户再次目录中的有效组会变成此目录的数组;
  c>.若普通用户对此目录拥有w权限时,新建的文件的默认属组是这个目录的数组;
 
3.设定SetGID的方法
  2代表SGID权限
                          技术分享
4.取消SetGID的方法。
                                   技术分享
三.Skicky BIT +
1.SBIT粘着位作用
  a>.粘着位目前只对目录有效;
  b>.普通用户对该目录拥有w和x权限,即普通用户可以再次目录拥有写入权限;
  c>.如果没有粘着位,因为普通用户又有w权限,所以可以删除此目录下所有文件,包括其他用户建立的文件,一旦赋予了黏着位,除了root可以删除所有文件,普通用户就算拥有w权限,也只能删除自己建立的文件,但是不能删除其他用户建立的文件。
 
2.SBIT黏着位的设置与取消
  1代表BIT权限。
                                   技术分享
3.黏着位的应用实战
                                  技术分享
 
总结:
  SUID:只针对可执行文件(二进制文件),不建议设置且要定时检查系统中被修改的文件;
  SGID:既可以针对可执行文件,也可以针对可执行目录;
  SBIT:只针对目录生效;一旦给目录设置了该权限,某个用户在这个目录下创建的文件只能尤其自己删除或是root用户删除,其他用户都是没有权限删除的哟。

文件特殊权限

标签:应用   查询   ado   程序   suid   高级运维   否则   解决   执行文件   

原文地址:http://www.cnblogs.com/yinzhengjie/p/7616545.html

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