博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
文件特殊权限
阅读量:5929 次
发布时间:2019-06-19

本文共 2034 字,大约阅读时间需要 6 分钟。

                              文件特殊权限

                                                          作者:尹正杰

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

欢迎加入:   高级运维工程师之路               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用户删除,其他用户都是没有权限删除的哟。
你可能感兴趣的文章
linux运维管理技巧
查看>>
Windows 2008 Hyper-v虚拟机网络配置
查看>>
安装tensorflow
查看>>
VS2010中无System.Data.OracleClient引用的问题
查看>>
java内存分配和String类型的深度解析
查看>>
我的友情链接
查看>>
solr定时重建索引和增量更新
查看>>
openstack安装配置—— 基础环境准备
查看>>
如何在Linux中查看所有正在运行的进程
查看>>
Mikogo新版本已支持Linux系统
查看>>
C++中的单例模式
查看>>
51单片机课程设计:基于DS18B20的温度报警器
查看>>
R:朴素贝叶斯
查看>>
新内核的编译和安装
查看>>
IBM DS3512 驱动器冗余路径丢失,清除链路噪音的解决方案shangxl@dc
查看>>
LVS+keepalived
查看>>
vmware workstation网络设置
查看>>
Linux 内核参数设置于详解 --Oracle 安装
查看>>
检查常用软件的编译参数
查看>>
正则表达式的效率与优化
查看>>