Linux的特殊权限

矫情吗;* 2022-07-13 07:55 299阅读 0赞

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,它表示此时这个特殊权限不生效的意思。

发表评论

表情:
评论列表 (有 0 条评论,299人围观)

还没有评论,来说两句吧...

相关阅读

    相关 11.Linux用户特殊权限

    1.特殊权限概述 > 前面我们已经学习过 r(读)、w(写)、 x(执行)这三种普通权限,但是我们在査询系统文件权限时会发现出现了一些其他权限字母,比如: > ![i

    相关 Linux特殊权限和facl

    特殊权限 SUID 文件具有SUID权限,则该文件在执行时,使用的不是当前用户的权限启动进程,而是使用文件的属主启动的进程,这样会使进程具有与当前用户不一样的权限,

    相关 Linux特殊权限

    Linux下的文件权限 前面我们提到了关于文件的三个重要权限,那就是r、w、x这三个读、写、可执行的权限,是不是文件系统只有这三个权限呢?答案当然是否定的,首先,我们来看