我们之前认识的文件的权限仅局限于r,w,x,但如果我们执行命令“ll /tmp; ll /usr/bin/passwd”,会出现除了r,w,x之外的其他字母:

即出现了特殊权限(s跟t)。

【SetUID】

当s这个标志出现在文件所有者的x权限上时,此时就被称为Set UID,简称为SUID的特殊权限。

我们认识一下SUID的权限对于文件的功能:

  1. SUID权限仅对二进制程序(binary program)有效;
  2. 执行者对于该程序需要具有x的可执行权限;
  3. 本权限仅在执行该程序的过程中(run-time)有效;
  4. 执行者将具有该程序所有者(owner)的权限。

举个例子,我们的Linux系统中,所有账号的密码都记录在/etc/shadow这个文件里面,这个文件的权限为“-r-------- 1 root root”,意思是这个文件仅有root可读且仅有root可以强制写入而已。既然这个文件仅有root可以修改,那为什么liuyu这个一般账号用户却能自行修改自己的密码呢?

明明/etc/shadow的权限就不能让liuyu这个一般账号去访问的,为什么liuyu还能够修改这个文件内的密码呢?

这就是SUID的功能了!!

由上述介绍的功能,我们可以知道:

  1. liuyu对于/usr/bin/passwd这个程序来说是具有x权限的,表示liuyu能执行passwd;
  2. passwd的拥有者是root这个账户;
  3. liuyu执行passwd的过程中,会“暂时”获得root的权限;
  4. /etc/shadow可以被liuyu所执行的passwd所修改。

但如果liuyu使用cat却不能读取/etc/shadow!!这是因为cat不具有SUID的权限,所以liuyu执行“cat /etc/shadow”是不能读取/etc/shadow的。

此外,SUID仅可用在二进制程序上,不能够用在shell script上面。这是因为shell script只是将很多的二进制执行文件调进来执行而已。所以SUID的权限部分,还是得要看shell script调用进来的程序的设置,而不是shell script本身。当然,SUID对于目录也是无效的!!

【Set GID】

当s这个标志出现在用户组的x权限上时,此时就被称为Set UID, SUID。

与SUID不同的是,SGID既可以针对文件,也可以针对目录来设置。

对文件来说,SGID具有如下功能:

SGID对二进制程序有用;

程序执行者对于该程序来说,需具备x的权限;

执行者在执行的过程中将会获得该程序用户组的支持。

当一个目录设置了SGID的权限后,它将具有如下的功能:

用户若对于此目录具有r与x的权限时,该用户能够进入此目录;

用户在此目录下的有效用户组将会变成该目录的用户组;

若用户在此目录下具有w的权限(可以创建文件),则用户所创建的新文件的用户组与此目录的用户组相同。

SGID对于项目开发来说是非常重要的,因为这涉及用户组权限的问题。

【Sticky Bit】

这个SBIT目前只针对目录有效,对于文件已经没有效果了。

SBIT对于目录的作用是:

当用户

文件特殊权限:SUID,SGID,SBIT的更多相关文章

  1. CentOS 文件特殊权限SUID,SGID,SBIT

    1.SUID ,是一种对二进制程序进行设置的特殊权限,可以让二进制程序的执行者临时拥有所有者的权限(仅对拥有执行权限的二进制程序有效). (1)SUID权限仅对二进制程序有效: (2)本权限仅在执行该 ...

  2. Linux 文件特殊权限 SUID SGID SBIT

    文件除了常规的权限r, w, x 还有一些特殊的权限,s与t权限,具体的用处如下 1 SetUID 当s 这个标志出现在文件所有者的x权限上时, 例如/usr/bin/passwd, [root@or ...

  3. Linux 特殊权限 SUID,SGID,SBIT

    setuid 和 setgid 分别是 set uid ID upon execution 和 set group ID upon execution 的缩写.我们一般会再次把它们缩写为 suid 和 ...

  4. chmod 4777? 文件特殊权限 SUID SGID StickyBit

    故事引入 今天碰到了一条指令, test 怎么在777前还有一位,颠覆了我的认知啊,这时候必须翻鸟哥神书了,找到一个链接<7.4.3 文件特殊权限:SUID/SGID/Sticky Bit> ...

  5. 【Linux】文件特殊权限 SUID/SGID/Sticky Bit

    linux中除了常见的读(r).写(w).执行(x)权限以外,还有3个特殊的权限,分别是setuid.setgid和stick bit 1.setuid.setgid 先看个实例,查看你的/usr/b ...

  6. linux 文件三大特殊权限(SUID SGID SBIT)

    SGID(这个应该是文件共享里面最常用权限管理手段) 作用于目录或可执行程序,作用于目录代表在此目录创建的文件或目录,默认的属组继承此目录的属组.例如 我这个testgroup 没有设置SGID .我 ...

  7. Linux文件与目录的默认权限与隐藏权限 - umask, chattr, lsattr, SUID, SGID, SBIT, file

    文件默认权限:umask [root@www ~]# umask 0022 <==与一般权限有关的是后面三个数字! [root@www ~]# umask -S u=rwx,g=rx,o=rx ...

  8. 文件的特殊权限(SUID,SGID,SBIT)

    文件的一般权限:r w x  对应 421  文件的特殊权限:SUID SGID SBIT对应 421  文件的隐藏权限:chattr设置隐藏权限,lsattr查看文件的隐藏权限. 文件访问控制列表: ...

  9. Linux之特殊权限(SUID/SGID/SBIT)

    特殊权限的介绍 Set UID 当s这个标志出现在文件所有者的x权限上时,如/usr/bin/passwd这个文件的权限状态:“-rwsr-xr-x.”,此时就被称为Set UID,简称为SUID.那 ...

  10. centos 特殊权限 各种搜索命令 lsattr ,chattr,suid,sgid,sbit,file,type是否是内置命令,stat文件属性 ,whereis,locate,find,ln 内部命令和外部命令 第五节课

    centos 特殊权限 各种搜索命令 lsattr ,chattr,suid,sgid,sbit,file,type是否是内置命令,stat文件属性 ,whereis,locate,find,ln   ...

随机推荐

  1. 常用的linux指令整理

    ls 列出文件目录 -a全部文件,连同隐藏文件一起列出 -d仅列出目录本身,而不是列出目录内的文件数据 -l 连同权限一同列出 cd 切换文件目录的命令 pwd显示目前所在的目录 mkdir 创建新的 ...

  2. [Oracle]Oracle表权限小结

    在数据库中,表是我们接触得最多的数据库对象,接下来对与表有关的系统权限与对象权限做一个小结. (1)与表有关的系统权限 CREATE TABLE 在当前Schema中创建.删除.修改表. SELECT ...

  3. TinyMCE(富文本编辑器)在Asp.Net中的使用方法

    TinyMCE(富文本编辑器)在Asp.Net中的使用方法   转至:http://www.cnblogs.com/freeliver54/archive/2013/02/28/2936506.htm ...

  4. php第五节(字符串函数和时间、日期函数)

    <?php //查找字符串函数 // strpos() 查找字符第一次出现的位置 重点区分大小写 //stripos — 查找字符串首次出现的位置(不区分大小写) //strrpos — 计算指 ...

  5. LeetCode 简单 - 最大子序和(53)

    采用动态规划方法O(n) 设sum[i]为以第i个元素结尾且和最大的连续子数组.假设对于元素i,所有以它前面的元素结尾的子数组的长度都已经求得,那么以第i个元素结尾且和最大的连续子数组实际上,要么是以 ...

  6. Spring+SpringMVC+Mybatis(二)

    上一次讲的是利用mybatis提供的sqlSessionTemplate作为DAO进行数据库的操作,其实我们可以把它封装到我们自己的DAO里面,这样就是所谓的自己写DAO,这次我们写一下通过mybat ...

  7. (五)、python 函数

    一.函数 def 函数名(参数): ... 函数体 ... 返回值 函数的定义主要有如下要点: def:表示函数的关键字 函数名:函数的名称,日后根据函数名调用函数 函数体:函数中进行一系列的逻辑计算 ...

  8. Xcode升到7.1插件失效解决方法

    Mac前段时间下载了新的OS系统与Xcode 7.1,然而在使用Xcode 7.1时,发现插件不能用了,瞬间木有爱了,正好交流群里有人问到了插件失效的问题,经过各路大神的神通最终用下面这种方法完美解决 ...

  9. maven-聚合与继承

    1.聚合-方便快速构建项目 多个maven模块要构建需要分别执行一次maven构建命令,怎样只执行一次构建命令就构建多个maven模块呢?maven提供了聚合模块可以满足一次运行,构建多模块的要求 2 ...

  10. PLC编码规范

    PC在编码规范方面比PLC要好很多.既然它们都是编程语言,那么PC方面的规范是否可以用与PLC呢?答案是肯定的,但需要作取舍.下面规范中的大部分可以用于一般PLC,其中有些只是针对西门子博途,使用时需 ...