linux文件特殊权限:SetUID、SetGID、Sticky BIT

文件特殊权限

  • SetUID
  • SetGID
  • Sticky BIT

SetUID

SetUID的功能:

  • 只有可以执行的二进制程序才能设定SUID权限,普通的文件或目录设置了也没有任何作用
  • 命令执行者要对对程序拥有执行X权限
  • 命令执行者在执行该程序时获得该程序文件属主的身份
  • SetUID 权限只在该程序执行过程中有效,也就是说身份改变只在程序执行过程中有效

总结一句话就是,给某个可执行程序授予了SetUID后,其他普通用户执行这个程序时就获得了该程序文件的所有者身份。

# 可以看到passwd命令,所有者的权限中有一个s的权限,这里的s就是代表SetUID
[root@VM-8-7-centos tmp]# ll /usr/bin/passwd
-rwsr-xr-x 1 root root 27856 Apr  1  2020 /usr/bin/passwd

普通用户本来是没有权限去操作/etc/shadow文件的,但是当我们执行passwd命令后,该普通用户就变成了root用户去操作影子文件了。

设定SetUID

4代表SUID,2代表SGID,1代表SBIT

  • chmod 4755 文件名
  • chmod u+s 文件名

取消SetUID

  • chmod 755 文件名

  • chmod u-s 文件名

大写的S来警告用户有错误

# 创建一个文件
[root@VM-8-7-centos tmp]# touch aaa

# 这个文件 都没有执行权限
[root@VM-8-7-centos tmp]# ll
total 0
-rw-r--r-- 1 root root 0 Apr 10 11:35 aaa

# 因为都没有执行权限,这里给他SUID后再查看 就会发现所有者的权限中有一个S,大写的S表示有错误,没有执行权限
[root@VM-8-7-centos tmp]# chmod u+s aaa
[root@VM-8-7-centos tmp]# ll
total 0
-rwSr--r-- 1 root root 0 Apr 10 11:35 aaa

SetGID

SGID和SUID有一点不太一样,SUID只能是可执行的二进制程序,而SGID除了可执行的二进制文件之外,还允许设定目录。

SetGIDdy针对文件的作用:

  • 只有可以执行的二进制程序才能设定SGID权限
  • 命令执行者要对对程序拥有执行X权限
  • 命令执行者在执行该程序时获得该程序文件所属组的身份
  • SetGID同样只有在执行程序过程中有效

SetGIDdy针对目录的作用:

  • 普通用户必须对此目录拥有r和x权限,才能进入此目录
  • 普通用户在此目录中的所属组会变为该目录的所属组
  • 普通用户对该目录拥有w权限时,新增的文件的默认所属组是这个目录的所属组

设定SGID

2代表SGID

  • chmod 2755 目录或文件
  • chmod g+s 目录或文件

取消SGID

  • chmod 755 目录或文件
  • chmod g-s 目录或文件

Sticky BIT

SBIT粘着位作用

  • SBIT粘着位只对目录起作用
  • 普通用户对该目录拥有写入权限
  • 如果没有SBIT粘着位,普通用户如果对目录拥有w权限,那么它可以删除该目录下的所有文件,包括其他用户创建的文件。一旦赋予了SBIT粘着位,除了root可以删除所有文件,普通用户就算有w权限也只能删除自己创建的文件,不能删除其他用户创建的文件。
# SBIT粘着位的标准是在  other中有一个t
[root@VM-8-7-centos ~]# ll -d /tmp
drwxrwxrwt. 7 root root 4096 Apr 10 14:12 /tmp

设置SBIT粘着位

  • chmod 1777 目录名
  • chmod o+t 目录名

取消SBIT粘着位

  • chmod 777 目录名
  • chmod o-t 目录名
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值