再次学习linux文件特殊权限:SUID、SGID、Sticy Bit
以前对于文件管理的认识只限于UGO的管理,对于特殊权限的学习还是一知半解。重新学习了一遍,我自己理解的东东记录一下。
首先,列一下SUID、SGID、Sticy Bit所代表的权限数值。就好像rwx分别对应4,2,1一样,SUID、SGID、Sticy Bit分别对应的数值也是4、2、1。
| SUID | 4 |
| SGID | 2 |
| Sticky Bit | 1 |
| r | 4 |
| w | 2 |
| x | 1 |
为了下面的例子做准备,现在假设有一个文件a,权限为 -rw-rw-r--,对应的数值为664
一、SUID
全称:Set UID
对象:仅用于设置二进制文件的特殊权限
用途:用于开放二进制文件的执行权限。当用户执行文件a的时候,执行过程中暂时获得了文件a所属用户的权限。简单说,假如文件a的所有者是root,但是文件设置了SUID,那么其它用户也可以执行这个文件。
例子:/usr/bin/passwd
设置方法:chmod 4664 a
设置完成后文件a权限为:-rwSrw-r--
(现在我也知道为什么每个用户的umask值为四位数了,如果你不知道umask是什么赶紧google一下吧^_^)
二、SGID
全称:Set GID
对象:用于设置文件和目录的特殊权限
用途:
文件:如果该文件是二进制文件的话,其他用户执行该文件的时候会以文件所属用户组的神
目录:在该目录下建立的文件或目录都会自动继承该目录的用户组
设置方式:chmod 2664 a
设置完成后文件a权限为:-rw-rwSr--
三、Sticky Bit
全称:Set UID
对象:只用于设置目录的特殊权限
用途:在设置了Sticky Bit权限的目录下建立的文件只有文件的拥有者和root能删除。
设置方式:chmod 1664 a
设置完成后文件a权限为:-rw-rw-r-t
----------------------------------------------------------------华丽的分割线------------------------------------------------------------------------------
在测试上面个属性的时候发现一个问题总结一下。
同属一个用户组的两个用户A和用户B,给予用户A的家目录rwx权限以便用户B能够进入。
使用用户B在用户A的家目录下创建文件test,并将文件的属性设置为----rwx---,也就是只有用户组有所有权限。
这样就会出现:用户B不能修改文件test,但是用户A却能够修改。
以上实验的出两个结论:
1.如果一个文件属于一个用户组,并对用户组开放所有权限,那么该用户组下的所有用户都可以借助用户组的权限访问该文件。
2.如果一个文件的所属用户将自身的权限全部清楚,但是组的权限全部开放,那么文件的所属用户仍不能访问该文件。因为在操作文件是系统参考了当前用户对目标文件的执行权。
再次学习linux文件特殊权限:SUID、SGID、Sticy Bit的更多相关文章
- Linux 文件特殊权限 SUID SGID SBIT
文件除了常规的权限r, w, x 还有一些特殊的权限,s与t权限,具体的用处如下 1 SetUID 当s 这个标志出现在文件所有者的x权限上时, 例如/usr/bin/passwd, [root@or ...
- chmod 4777? 文件特殊权限 SUID SGID StickyBit
故事引入 今天碰到了一条指令, test 怎么在777前还有一位,颠覆了我的认知啊,这时候必须翻鸟哥神书了,找到一个链接<7.4.3 文件特殊权限:SUID/SGID/Sticky Bit> ...
- 【Linux】文件特殊权限 SUID/SGID/Sticky Bit
linux中除了常见的读(r).写(w).执行(x)权限以外,还有3个特殊的权限,分别是setuid.setgid和stick bit 1.setuid.setgid 先看个实例,查看你的/usr/b ...
- CentOS 文件特殊权限SUID,SGID,SBIT
1.SUID ,是一种对二进制程序进行设置的特殊权限,可以让二进制程序的执行者临时拥有所有者的权限(仅对拥有执行权限的二进制程序有效). (1)SUID权限仅对二进制程序有效: (2)本权限仅在执行该 ...
- Linux 特殊用户权限 suid,sgid, sticky
每个进程会维护有如下6个ID: 真实身份 : real UID, readl GID --> 登录 shell 使用的身份 有效身份 : effective UID, effective GID ...
- Linux学习之文件特殊权限详解(SetUID、SetGID、Sticky BIT)(十一)
Linux学习之文件特殊权限详解(SetUID.SetGID.Sticky BIT) 目录 SetUID SetGID Sticky BIT SetUID SetUID简介 只有可以执行的二进制程序和 ...
- Linux学习之十五-Linux文件特殊权限和附加权限
Linux文件特殊权限和附加权限 1.特殊权限suid 范围:只能针对二进制命令文件 作用:让普通用户拥有二进制命令文件所有者的权限 举例1:普通用户使用passwd命令修改密码 cat /etc/s ...
- Linux文件的权限与属性
由于以前学习Linux的时候没有做比较全面的总结笔记,而且平时大部分工作都在windows上进行,所以关于Linux的一些知识点有所遗忘.近期难得空闲,翻阅书籍,学习<鸟哥的Linux私房菜&g ...
- Linux 文件特殊权限详解[suid/sgid/t]
setuid(suid): 针对命令和二进制程序的,当普通用户执行某个(passwd)命令的时候,可以拥有这个命令对应用户的权限, 即让普通用户可以以root用户的角色执行程序或命令. setgid( ...
随机推荐
- Python+Selenium爬虫实战一《将QQ今日话题发布到个人博客》
前提条件: 1.使用Wamp Server部署WordPress个人博客,网上资料较多,这里不过多介绍 思路: 1.首先qq.com首页获取到今日话题的的链接: 2.通过今日话题链接访问到今日话题,并 ...
- python以下划线开头的变量名含义
Python核心风格:避免用下划线作为变量名的开始. 因为下划线对解释器有特殊的意义,而且是内建标识符所使用的符号,我们建议程序员避免用下划线作为变量名的开始.一般来讲,变量名_xxx被看作是“私有的 ...
- Asp.net 的工作原理
转:http://www.cnblogs.com/linjiancun/archive/2010/09/14/1825662.html 1.1.1 Asp.net 的工作原理 ...
- Halcon算子之shape_trans,用于变换区域的形状
函数原型:shape_trans(Region : RegionTrans : Type : ) *shape_trans*仍然是区域,smallest_rectangle1可以获得四个角的坐标 函数 ...
- script放置最佳位置(转载)
html文件是自上而下的执行方式,但引入的css和javascript的顺序有所不同,css引入执行加载时, 程序仍然往下执行,而执行到<script>脚本是则中断线程,待该script脚 ...
- 【313】python 中 print 函数用法总结
参考:python 中 print 函数用法总结 参考:Python print() 函数(菜鸟教程) 参考:Python 3 print 函数用法总结 目录: 字符串和数值类型 变量 格式化输出 p ...
- iOS学习之iOS沙盒(sandbox)机制和文件操作之NSFileManager
我们看看NSFileManager如何使用.包括创建文件,目录,删除,遍历目录等. 1.在Documents里创建目录 创建一个叫test的目录,先找到Documents的目录, [cpp] view ...
- [iOS]在xcode的iOS虚拟机中对BLE(蓝牙4.0)进行调试
本文档的主要内容可参考苹果官方资料: http://developer.apple.com/library/ios/#technotes/tn2295/_index.html 1. 买一个CSR蓝牙4 ...
- visjs使用小记-3.简单网络拓扑图的折叠与展开
项目需要对节点无限层级查看,大概捣鼓了下,以下demo代码可根据节点的层级顺序,通过节点双击简单实现节点的折叠与展开 <!doctype html> <html> <he ...
- SPI子系统分析之四:驱动模块
内核版本:3.9.5 SPI控制器层(平台相关) 上一节讲了SPI核心层的注册和匹配函数,它是平台无关的.正是在核心层抽象了SPI控制器层的相同部分然后提供了统一的API给SPI设备层来使用.我们这一 ...