Linux的特殊权限

Linux下的文件权限

前面我们提到了关于文件的三个重要权限,那就是r、w、x这三个读、写、可执行的权限,是不是文件系统只有这三个权限呢?答案当然是否定的,首先,我们来看看下面这两个文件的权限:
这里写图片描述
我们发现这两个文件出现了s和t这两个权限,并且还分别占据了/usr/bin/passwd中所有者权限中x权限的位置以及/tmp目录中其他人的可执行权限的位置。这些权限我们称之为特殊权限,这些特殊权限又有什么含义呢?

文件的特殊权限:SUID

SUID特殊权限又称为SetUID,它表示当s这个标志出现在文件所有者的x权限上时,此时就被称为Set UID,简称为SUID,那么它有什么特殊功能呢,我们来看看下面这幅图片:
这里写图片描述
如上图,lzh这个普通用户本来不具有对/usr/bin/passwd这个文件进行写入的能力,但当这个文件具有SUID这个人权限时,确可以更改自己用户的密码,相当于向文件中写入了数据,其实此时当lzh执行这个文件时,它所具有的不是它自己的权限,而是它的权限变成了root,它以root的身份执行的passwd文件
下面是SUID使用注意事项:

  1. SUID只对二进制文件有效,对其他文件无效。
  2. 本权限仅在文件被执行的过程中有效。

SGID

下面我们来看看SGID这个特殊权限,当s标志在文件所有者的x权限上,则当前文件具有SGID这个权限,称为Set GID.与上面SUID这个特殊权限类似,当具有SGID这个特殊权限的文件被执行者执行时,程序执行者能获得该程序用户组的支持。它的使用也与SUID相同。

Sticky Bit

Sticky Bit称为粘滞位,它表示文件其他者的x权限上有t这个标志,目前粘滞位仅对目录有效,对其他文件无效,我们通过一副图片来看看他是怎么使用的:
这里写图片描述
当我们对/tmp目录设定了粘滞位这个特殊权限时,即使其他用户对该目录下的文件具有r,w,x权限,我们也不能用其他人的用户来删除该目录下的任何文件。

使用特殊权限的注意

当我们使用任何特殊权限时,必须保证文件对应的用户的x权限得有效,这样特殊权限才能在这个文件中生效。

例如:
这里写图片描述
例如粘滞位这个特殊权限,当我们将/tmp目录的其他人的x权限删除时,如果再给它添加Sticky Bit这个特殊权限,那么其他人的x权限上的标志不是t而是T,它表示此时这个特殊权限不生效的意思。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值