Linux特殊位SUID、SGID、SBIT

Linux特殊位SUID、SGID、SBIT

前言

Linux中的文件权限一般有x、w、r,在某个情况下有需要用到s、t,即特殊位。

进程运行时能够访问哪些资源或文件,不取决于进程文件的属主属组,而是取决于运行该命令的用户身份的uid/gid,以该身份获取各种系统资源。

SUID

SUID即setuid,作用就是让执行该命令的用户,以该命令的拥有者的权限去执行,比如普通用户执行passwd时会拥有root的权限;

例子:

[syz@m01 ~]$ ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 30768 Feb 22 2012 /usr/bin/passwd

说明:该文件/usr/bin/passwd的属主权限带有s;且属主和属组都是root,如果syz该用户是怎么进行密码更改的呢?首先这个文件带有的s;即是setuid权限位,表示允许普通用户

以/usr/bin/passwd属主root的权限来执行普通用户无法执行的功能。

设置和取消SUID

设置:

chmod 4xxx 文件名 例如:chmod 4551 syz.txt

chmod u+s 文件名            chmod u+s syz.txt

取消

chmod xxx 文件名

chmod u-s 文件名

SGID

SGID即setgid,作用就是即让执行文件的用户以该文件所属组的权限去执行。

设置和取消SGID

设置:

chmod 2xxx 文件名 例如:chmod 2551 syz.txt

chmod g+s 文件名            chmod g+s syz.txt

取消

chmod xxx 文件名

chmod g-s 文件名

SBIT

SBIT即Stick Bit,粘滞位,作用就是只对目录有效,普通用户对该目录有w和x权限,若没有粘滞位,则普通用户可以对目录下的文件/子目录进行删除操作(因为普通用户对目录具有w权限),包括其它用户建立的目录/文件;但若赋了SBIT,则普通用户只能删除自己创建的文件/目录,而不能删除不属于自己的文件/目录!

设置和取消SBIT

设置:

chmod 1xxx 文件名 例如:chmod 1551 syz.txt

chmod o+s 文件名            chmod o+s syz.txt

取消

chmod xxx 文件名

chmod o-s 文件名

例子:

[syz@m01 ~]$ ll -d /tmp/
drwxrwxrwt. 3 root root 4096 Feb 18 22:16 /tmp/

/tmp目录的权限other部分为rwt,这个t就是我们设置的粘滞位

#首先在syz用户下创建两个文件

[syz@m01 tmp]$ ll
total 4
drwxrwxr-x 2 syz syz 4096 Feb 18 23:14 test-dir
-rw-rw-r-- 1 syz syz 0 Feb 18 23:14 test-file

#然后切换到在leo用户下删除这两个文件

[leo@m01 tmp]$ ll
total 4
drwxrwxr-x 2 syz syz 4096 Feb 18 23:14 test-dir
-rw-rw-r-- 1 syz syz 0 Feb 18 23:14 test-file

[leo@m01 tmp]$ rm -rf test-dir/ test-file
rm: 无法删除"test-dir/": 不允许的操作

#显示无法删除,然后切换到root下,去除/tmp/的的t,即粘滞位

[leo@m01 tmp]$ su -
Password:
[root@m01 ~]# chmod o-t /tmp/
[root@m01 ~]# ll -d /tmp
drwxrwxrwx. 4 root root 4096 Feb 18 23:14 /tmp

#然后切换到leo用户,即可删除syz用户创建的那两个文件

[leo@m01 tmp]$ rm -rf test-dir/ test-file
[leo@m01 tmp]$ ll /tmp/
总用量 0

原文地址:https://www.cnblogs.com/LEO00/p/10398587.html

时间: 2024-11-10 11:37:37

Linux特殊位SUID、SGID、SBIT的相关文章

Linux之特殊权限(SUID/SGID/SBIT)

特殊权限的介绍 Set UID 当s这个标志出现在文件所有者的x权限上时,如/usr/bin/passwd这个文件的权限状态:"-rwsr-xr-x.",此时就被称为Set UID,简称为SUID.那么这个特殊权限的特殊性的作用是什么呢?1.SUID权限仅对二进制程序(binary program)有效:2.执行者对于该程序需要具有x的可执行权限:3.本权限仅在执行该程序的过程中有效(run-time):4.执行者将具有该程序拥有者(owner)的权限.SUID的目的就是:让本来没有相

Linux文件与目录的默认权限与隐藏权限 - umask, chattr, lsattr, SUID, SGID, SBIT, file

文件默认权限:umask [[email protected] ~]# umask 0022 <==与一般权限有关的是后面三个数字! [[email protected] ~]# umask -S u=rwx,g=rx,o=rx 默认的情况如下: 若使用者创建为『文件』则默认『没有可运行( x )权限』,亦即只有 rw 这两个项目,也就是最大为 666 分,默认权限如下: -rw-rw-rw- 若使用者创建为『目录』,则由於 x 与是否可以进入此目录有关,因此默认为所有权限均开放,亦即为 777

suid sgid sbit chattr lsattr

suid 一般用于二进制可执行文件,suid代表当用户执行此二进制文件时,暂时具有此文件所有者的权限 chmod 4xxx binfile sgid 一般用于目录,sgid代表当其他用户在此目录下创建文件时其所有者为创建此目录的用户但所属组为设置sgid的用户 chmod 2xxx dir sbit  一般用于目录,sbit代表用户在此目录创建的文件或目录只有自己和root才可以删除 suid sgid sbit的设置可以用命令chmod 4xxx 2xxx 1xxx 设置 但取消最好用chmo

文件的特殊权限:SUID SGID SBIT

文件的特殊权限:SUID SGID SBIT我们提到关于文件的重要权限,那就是r,w,x这三个读,写,执行的权限,但是我们发现/tmp目录权限就很奇怪, 还有/usr/bin/passwd和  /usr/bin/wall SETUIDSUID仅可以用在二进制程序上,不能够用在shell script上面suid的限制与功能:1.SUID仅对二进制程序有效2.执行者对于该程序需要有X的可执行权限3.本权限仅在执行该程序的时候有效4.执行者将具有该程序所有者的权限 SETGID SGID可以对文件或

Linux 学习:文件特殊权限SUID, SGID, SBIT

本次记录Linux特殊权限SUID.SGID.SBIT相关知识及使用实例等. 由于SUID和SGID涉及到系统安全,所以对它们知识点的掌握尤为重要. 关于文件权限的表示方法和解析 SUID是Set User ID,SGID是Set Group ID的意思. Linux下可以用ls –l命令来查看文件的权限.用ls命令所得到的表示法的格式是类似这样的:-rwxr-xr-x 这种方法共有十位 9 8 7 6 5 4 3 2 1 0 -  r w x r  -  x  r - x 第9位表示文件类型,

Linux 文件特殊权限 SUID SGID SBIT

文件除了常规的权限r, w, x 还有一些特殊的权限,s与t权限,具体的用处如下 1 SetUID 当s 这个标志出现在文件所有者的x权限上时, 例如/usr/bin/passwd, [[email protected] ~]# ll -d /usr/bin/passwd-rwsr-xr-x. 1 root root 30768 Feb 22 2012 /usr/bin/passwd 这个文件的权限状态为 -rwsr-xr-x 此时被称作Set UID 简称SUID 的特殊权限. 那么SUID的

linux文件权限位SUID,SGID,sticky的设置理解

SUID含义:文件的该位被设置为1,在该文件被执行时,该文件将以所有者的身份运行,也就是说无论谁来           执行这个文件,他都有文件所有者的特权,如果所有者是root的话,那么执行人就有超级用户           的特权了,这是该位将变成一个安全漏洞,因此不要轻易设置该位. SGID含义:运行者将具有文件所有组的权限. 粘合位:  要求操作系统既是在可执行程序退出后,仍要在内存中保留该程序的映像,这样做是为了节省大           型程序的启动时间,但是会占用系统资源,因此设置

SUID,SGID,SBIT这些到底是什么

SUID,SGID,SBIT这些都是文件的特殊权限. SUID(Set UID)文件执行过程中,用户拥有文件的root权限. SGID(Set GID)文件执行过程中,执行者拥有该文件的用户组的权限. SBIT(Sticky Bit)相当于添加了一个标志,有这个标志的文件,只有拥有这个文件的用户和root可以删除文件. 通过命令umask,可以看到文件的权限默认值,而那个第一个就是特殊权限位. 特殊权限赋值过程: SUID 4 SGID 2 SBIT 1 在终端输入下列命令 cd /tmp to

《Linux鸟哥的私房菜》笔记6:SUID/SGID/SBIT权限简要说明

文件特殊权限 SUID 设置的对象: 文件 产生的作用:可使对于该文件有x权限的执行者获得程序所有者Owner的权限,只对binary program有效 举例: /usr/bin/passwd 该文件权限为:-rws r-x r-x 对于Others的用户帐号有x执行权限,并且其owner权限处设了s,所以可以让others的帐号对于该文件有了owner的权限,不过执行权限仅在该程序的过程中(run-time)内有效 SGID 设置的对象:文件和目录 对文件设置后的作用:SGID只对binar