特殊权限SUIG、SGID、SBIT

简介: 一、SetUID与SGID只能用于二进制程序执行者需要有该二进制程序的x权限执行具有SUID权限的二进制程序,那么执行者将具有该二进制程序所有者的权限。举例来说,/etc/passwd文件的权限是 -rw-r--r--,用户更改密码时需要对passwd文件进行写操作,root可以读写不用说,那普通用户为什么也能进行修改呢?这里就需要SUID来解决。

img_50df113e2f3d971cdb229732a2c842da.png

一、SetUID与SGID

  • 只能用于二进制程序
  • 执行者需要有该二进制程序的x权限
  • 执行具有SUID权限的二进制程序,那么执行者将具有该二进制程序所有者的权限。

举例来说,/etc/passwd文件的权限是 -rw-r--r--,用户更改密码时需要对passwd文件进行写操作,root可以读写不用说,那普通用户为什么也能进行修改呢?这里就需要SUID来解决。
修改密码时是用/usr/bin/passwd工具进行修改的。setuid的作用是让执行该命令的用户以该命令拥有者的权限去执行,就是普通用户执行passwd时会拥有root的权限,这样就可以修改/etc/passwd这个文件了。

下面权限中的x就标志着SUID

[root@centos7 aubin]# ls -al /usr/bin/passwd 
-rwsr-xr-x. 1 root root 27832 Jun 10  2014 /usr/bin/passwd

setgid的意思和它是一样的,即让执行文件的用户以该文件所属组的权限去执行。

二、stick bit(粘滞位)

以/tmp为例,tmp为存放临时文件的文件夹。所有用户都可以对他进行读写执行。那如果A用户创建了一个文件再tmp中,B用户把给删除了。这种情况是不允许出现的。如果设置了stick bit(粘滞位),那目录下的文件就只有root和创建者有权限区读写执行,其他人是无法更改的。这就是粘滞位的作用

  • 粘滞位只能针对目录设置
  • SGID与SUUID可以设置目录跟文件

三、特殊权限得具体设置

  • SUID
    sud一般情况下都设置在二进制文件上,设置在目录上没有意义
    启动为进程之后,其进程的属主为原程序文件的属主

    [root@centos7 app]# chmod u+s file 
    [root@centos7 app]# chmod u-s file 
  • 文件设置SGID
    启动为进程之后,其进程的属主为原程序文件的属组

    [root@centos7 app]# chmod g+s file 
    [root@centos7 app]# chmod g-s file  
  • 目录设置SGID
    目录被设定了SGID,则对此目录有写权限的用户在此目录中创建的文件所属的组为此目录的属组

    [root@centos7 app]# chmod g-s dir/
    [root@centos7 app]# chmod g+s dir/
  • SBIT
    在目录上设置SBIT,则在目录下创建的文件只有root与创建者有修改和删除权限
    SBIT设置在文件上也毫无意义

    [root@centos7 app]# chmod o+t dir/
    [root@centos7 app]# chmod o-t dir/ 
目录
相关文章
|
8月前
|
Shell Linux 数据安全/隐私保护
6.4.3 文件特殊权限: SUID, SGID, SBIT
6.4.3 文件特殊权限: SUID, SGID, SBIT
104 0
|
11月前
|
安全 Linux 数据安全/隐私保护
Linux的3种特殊权限场景实战:SUID、SGID、SBIT
Linux的3种特殊权限场景实战:SUID、SGID、SBIT
193 0
|
Linux
9.15 Linux文件特殊权限(SUID、SGID和SBIT)的设置
前面已经学习 SUID、SGID、SBIT 特殊权限,以及各自的含义和功能,那么,如何给文件或目录手动设定这些特殊权限呢?
288 0
9.15 Linux文件特殊权限(SUID、SGID和SBIT)的设置
|
数据安全/隐私保护
|
Linux 数据安全/隐私保护
|
Unix 数据安全/隐私保护 Shell
|
SQL 分布式计算 Hadoop

热门文章

最新文章