linux,centos,redhat 中SUID,SGID ,Sticky Bit权限作用是什么

SUID

Set  Uid

当我我们使用 ls 看passwd与shadow的权限时,会发现shadow文件只有root用户具有所有权限,其余所有都没哟任何权限,shadow文件是保存各个用户密码相关的数据,但是那么试想,虽然passwd命令可以允许普通用户执行,但是shadow确实不能被普通用户写入啊,当我们非root用户是如何修个自己的密码的?

当我们用zkncn这个普通用户执行passwd这个命令时,此时SUID权限就起作用啦,用于这个权限,普通用户在执行这个命令时,就暂时取得了该程序所有者的权限,即root用户的权限,当用就可以对shadow这个文件操作咯

SUID的基本作用及说明:

只对二进制可执行文件设置起作用更。对其他类型文件或目录都是没有作用的

该权限只能在该可执行文件的执行过程中起作用。比如我们用zkuncn用户使用可以执行passwd命令修改自己密码,但用 cat 读取 /etc/shadow 文件是没有权限的

执行的用户需要对该可执行文件具有执行权限,即 x 权限。因为有了 x 权限才能执行该程序

该权限用在该程序所有者权限组中的 x 权限位置用 s 表示,由于该权限只有在具有 x 权限时才有意思,所以 s 与 x 权限合并写在 x 权限位置上,当是大写的 S 时表示无效的SUID,例如用户对该程序没有 x 权限,却设置了 s 权限

SGID

在SUID是临时取得程序所有者的权限,顾名思义 SGID,就是临时取得该程序的所有组的权限,但是SGID可以对可执行二进制程序或者目录都起作用,该权限在组 x 权限位置用 s 表示,同样需要 x 权限,若没有 x 权限,怎表示无效的 SGID 权限,用大写 S 表示

当对象是目录是:

若用户进入具有SGID权限的目录,则此时该用户在此目录下的群组将变为该目录的群组

若该用户能创建目录及文件,那么目录和文件的群组即是该目录的群

例如:在第二行我们可以看出,testfile 文件的属于 zkunc 用户,群组属于 zkuncn 群组,此时我用用户 zkuncn1 在 testfile文件下创建一个hello的文件,再用 ls 看下,可以看出 hello 文件的群组却是 zkuncn ,因为 testfile 目录具有 SGID 权限,正常情况下 hello 的群组应该是zkuncn1

若对象是可执行程序:

具有 x 权限的二进制可执行程序

执行的用户在执行的过程中具有该程序群组的权限

Sticty Bit

该权限只对目录有效,对文件没有作用,该权限用 t 表示,若一个目录设置了 t 权限,那么各用户可以在该目录下创建和新增文件或目录,但是各用户只能删除属于自己用户的文件或目录,不能删除别人的文件和目录,即使该文件或目录具有 777 的权限。同样,t 权限在其他用户 x 权限位置用 t 表示, t 权限也需要 x 权限,若没有 x 权限,则表示无效,用大 T 表示。

简单的就是 tmp 目录

在 tmp 目录中,我们用zkuncn用户创建一个文件 zkuncndir, 此时切换到 zkuncn1 用户,去删除zkuncndir 文件夹,尽管这个文件夹的权限是 777 但是由于 t 这个权限,还是不能删除的

时间: 2024-10-12 12:41:39

linux,centos,redhat 中SUID,SGID ,Sticky Bit权限作用是什么的相关文章

Linux系统上的特殊权限SUID,SGID,STICKY以及额外权限管理工具facl命令

Linux系统上的特殊权限 特殊权限:SUID, SGID, STICKY 安全上下文: 1.进程以某用户的身份运行:进程是发起此进程用户的代理,因此以此用户的身份和权限完成所有操作: 2.权限匹配模型: (1) 判断进程的属主,是否为被访问的文件属主:如果是,则应用属主的权限:否则进入第2步: (2) 判断进程的属主,是否属于被访问的文件属组:如果是,则应用属组的权限:否则进入第3步: (3) 应用other的权限: SUID: 默认情况下:用户发起的进程,进程的属主是其发起者:因此,其以发起

linux系统上的特殊权限SUID,SGID,STICKY

特殊权限:SUID SGID STICKY linux的安全上下文: 1.进程以用户的身份运行,进程是发起此用户的代理,因此以此用户的身份和权限完成所有的操作. 2.权限匹配模型: 1)判断进程的属主,是否以被访问的文件属主.如果是,则应用属主权限,否则进入第2步. 2)判断进程的属主,是否属于被访问的文件属组.如果是,则应用属组的权限,否则进入第3步. 3)应用other的权限. SUID: 默认情况下,用户发起的进程,进程的属主是其发起者,因此,其以发起者的身份在运行. SUID的功用:用户

linux suid sgid Sticky

SUID属性 passwd命令可以用于更改用户的密码,一般用户可以使用这个命令修改自己的密码.但是保存用户密码的/etc/shadow文件的权限是400,也就是说只有文件的所有者root用户可以写入,那为什么其他用户也可以修改自己的密码呢?这就是由于Linux的文件系统中的文件有SUID属性. [[email protected] ~]# ll /etc/shadow -r-------- 1 root root 1128 Feb 15 14:33 /etc/shadow SUID属性只能运用在

linux文件系统特殊权限及suid sgid sticky

linux文件系统特殊权限及suid sgid sticky 1.Linux文件系统上的特殊权限 权限模型: u, g, o r, w, x 2.进程的安全上下文: 前提:进程有属主(进程以哪个用户的身份运行):文件有属主和属组: (1) 用户是否能够把某个可执行程序文件启动为进程,取决于用户对程序文件是否拥有执行权限: (2) 程序启动为进程后,此进程的属主为当前用户,也即进程的发起者:进程所属的组,为发起者的基本组: (3) 进程拥的访问权限,取决其属主的访问权限: (a) 进程的属主,同文

Linux文件系统上的特殊权限      SUID, SGID, Sticky(粘之位)

每个人都有自己的梦想,我想把它写出来. Linux文件系统上的特殊权限 SUID, SGID, Sticky(粘之位) 1 文件基本权限 r读, w写, x执行 user, group, other 2 安全上下文 前提:进程有属主和属组:文件有属主和属组: (1) 任何一个可执行程序文件能不能启动为进程:取决发起者对程序文件是否拥有执行权限: (2) 启动为进程之后,其进程的属主为发起者:进程的属组为发起者所属的组: (3) 进程访问文件时的权限,取决于进程的发起者: (a) 进程的发起者,同

SUID,SGID,Sticky Bit详解(转)

SUID属性 passwd命令可以用于更改用户的密码,一般用户可以使用这个命令修改自己的密码.但是保存用户密码的/etc/shadow文件的权限是400,也就是说只有文件的所有者root用户可以写入,那为什么其他用户也可以修改自己的密码呢?这就是由于Linux的文件系统中的文件有SUID属性. [[email protected] ~]# ll /etc/shadow -r-------- 1 root root 1128 Feb 15 14:33 /etc/shadow SUID属性只能运用在

SUID&SGID&Sticky&setfacl

一.特殊权限文件: ls -l /bin/passwd 特殊权限:SUID,SGID,STICKY 进程的权限取决于发起者:用户 属主--->属组--->其他人 //根据文件的权限位置进行匹配 //这就叫做安全上下文 安全上下文: 1.进程以某用户的身份运行:进程是发起此进程用户的代理,因此以此用户的身份和权限完成所有操作 2.权限匹配模型: (1)判断进程的属主,是否为被访问的文件属主的权限,否则进入第2步 (2)判断进程的属主,是否属于被访问的文件属组,如果是,则应用属组的权限,否则进入第

文件的特殊权限:suid sgid sticky

一.文件的特殊权限:suid    展示于文件属主的执行权限位:    如果属主本来有执行权限,则展示为s:否则,展示为S; 功用:对于一个可执行文件来讲,任何用户运行此程序为进程时,进程的属主不再是发起者本人,而可执行程序文件自己的属主: 管理文件SUID权限的方法:        chmod u+|-s FILE... [[email protected] ~]# useradd fedora [[email protected] ~]# cp /bin/cat /var/tmp/ [[em

Suid,sgid,sticky的三个权限的详细说明

Suid,sgid,sticky的三个权限的详细说明 一个文件都有一个所有者, 表示该文件是谁创建的. 同时, 该文件还有一个组编号, 表示该文件所属的组, 一般为文件所有者所属的组.如果是一个可执行文件, 那么在执行时, 一般该文件只拥有调用该文件的用户具有的权限. 而setuid, setgid 可以来改变这种设置. setuid: 设置使文件在执行阶段具有文件所有者的权限. 典型的文件是 /usr/bin/passwd. 如果一般用户执行该文件, 则在执行过程中, 该文件可以获得root权