再次学习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( ...
随机推荐
- canvas绘制路径
canvas绘制路径 方法 beginPath() 创建一个新的路径 lineTo() 描绘路径 closePath() 沿着路径画直线,并且画点移动到路径开头 stroke() 绘制形状 fill( ...
- C# 如何将窗体写到Dll中
步骤: 1.解决方案资源管理器窗口->右击项目属性 2.属性窗口->应用程序->输出类型(U)->类库
- Vue使用echarts
Vue使用echarts 该示例使用 vue-cli 脚手架搭建 安装echarts依赖 npm install echarts -S 创建图表 全局引入 main.js // 引入echarts i ...
- __slots__
__slots__ 由于Python是动态语言,任何实例在运行期都可以动态地添加属性. 如果要限制添加的属性,例如,Student类只允许添加 name.gender和score 这3个属性,就可以利 ...
- 汉字转拼音开源工具包Jpinyin介绍
最近要实现一个根据词语得到词语对应拼音的功能,找到了Jpinyin这个开源工具包,使用下来发现它非常强大,完全满足我的需求,下面对它做一个简单的介绍,希望能够帮助到有需要的朋友. https://gi ...
- Yum -y update 报错
问题描述: 操作系统:CentOS 6.5 今天服务器上执行 yum -y update 命令时,提示: Running rpm_check_debug ERROR with rpm_check_de ...
- 用django框架开发一个B2C购物网站用户注册知识点总结2
一:用户部分: 用户注册: 用户注册序列化器: import re from django_redis import get_redis_connection from rest_framework ...
- MySQL数据库篇之表的增删改查
主要内容: 一.表介绍 二.创建表 三.查看表结构 四.修改表结构 五.复制表 六.删除表 1️⃣ 表介绍 表相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,称 ...
- Application.LoadLevel & Object.DontDestroyOnLoad
[Application.LoadLevel] 只有在File->Build Setting中设置了的按钮才能被加载. 当level加载完成后,MonoBehaviour.OnLevelWasL ...
- vue 项目搭建
vue init webpack-simple 工程名字<工程名字不能用中文> 简单部署 vue init webpack 工程名字<工程名字不能用中文> 完整部署