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
Linux特殊位SUID、SGID、SBIT的更多相关文章
- Linux 特殊权限 SUID,SGID,SBIT
setuid 和 setgid 分别是 set uid ID upon execution 和 set group ID upon execution 的缩写.我们一般会再次把它们缩写为 suid 和 ...
- Linux之特殊权限(SUID/SGID/SBIT)
特殊权限的介绍 Set UID 当s这个标志出现在文件所有者的x权限上时,如/usr/bin/passwd这个文件的权限状态:“-rwsr-xr-x.”,此时就被称为Set UID,简称为SUID.那 ...
- Linux文件与目录的默认权限与隐藏权限 - umask, chattr, lsattr, SUID, SGID, SBIT, file
文件默认权限:umask [root@www ~]# umask 0022 <==与一般权限有关的是后面三个数字! [root@www ~]# umask -S u=rwx,g=rx,o=rx ...
- centos 特殊权限 各种搜索命令 lsattr ,chattr,suid,sgid,sbit,file,type是否是内置命令,stat文件属性 ,whereis,locate,find,ln 内部命令和外部命令 第五节课
centos 特殊权限 各种搜索命令 lsattr ,chattr,suid,sgid,sbit,file,type是否是内置命令,stat文件属性 ,whereis,locate,find,ln ...
- CentOS 文件特殊权限SUID,SGID,SBIT
1.SUID ,是一种对二进制程序进行设置的特殊权限,可以让二进制程序的执行者临时拥有所有者的权限(仅对拥有执行权限的二进制程序有效). (1)SUID权限仅对二进制程序有效: (2)本权限仅在执行该 ...
- 文件的特殊权限(SUID,SGID,SBIT)
文件的一般权限:r w x 对应 421 文件的特殊权限:SUID SGID SBIT对应 421 文件的隐藏权限:chattr设置隐藏权限,lsattr查看文件的隐藏权限. 文件访问控制列表: ...
- SUID, SGID, SBIT
基本上SUID有这样的限制与功能: SUID权限仅对二进位程序(binaryprogram)有效,不能用在shellscript上面: 运行者对於该程序需要具有x的可运行权限: 本权限仅在运行该程序的 ...
- suid sgid sbit chattr lsattr
suid 一般用于二进制可执行文件,suid代表当用户执行此二进制文件时,暂时具有此文件所有者的权限 chmod 4xxx binfile sgid 一般用于目录,sgid代表当其他用户在此目录下创建 ...
- suid sgid sbit chattr lsattr find
suid 一般用于二进制可执行文件不可用于shell脚本和目录,suid代表当用户执行此二进制文件时,暂时具有此文件所有者的权限 chmod 4xxx binfile sgid 一般用于目录,sgid ...
随机推荐
- python_面向对象,类名称空间,对象名称空间,组合
创建一个类就会创建一个类的名称空间,用来存储类中定义的所有名字,这些名字称为类的属性 而类有两种属性:静态属性和动态属性 静态属性就是直接在类中定义的变量(字段) 动态属性就是定义在类中的方法 其中类 ...
- python面试题之下面这些是什么意思:@classmethod, @staticmethod, @property?
回答背景知识 这些都是装饰器(decorator).装饰器是一种特殊的函数,要么接受函数作为输入参数,并返回一个函数,要么接受一个类作为输入参数,并返回一个类. @标记是语法糖(syntactic s ...
- Python 如何debug
一.常见错误: 1.漏了末尾的冒号,如 if语句,循环语句,定义函数 2.缩进错误,该缩进的时候没有缩进 3.把英文符号写成中文符号,如: ' ' () , 4.字符串拼接,把字符串和数字拼接一起 ...
- SQL Server 2014 中新建登录及权限分配【界面版】
本篇经验将和大家介绍分配SQL Server 2014 中,新建登录用户,分配权限,并指定该用户的数据库的方法,希望对大家的工作和学习有所帮助! 方法/步骤 1 打开 MS SQL Server Ma ...
- 翻译 What is the concept of Service Container in Laravel?
原文链接: https://stackoverflow.com/questions/37038830/what-is-the-concept-of-service-container-in-larav ...
- git 版本控制库的用法及其介绍
版本控制 说到版本控制,脑海里总会浮现大学毕业是写毕业论文的场景,你电脑上的毕业论文一定出现过这番景象! 1 2 3 4 5 6 7 8 9 10 11 毕业论文_初稿.doc 毕业论文_修改1.do ...
- oracle number 类型 只显示10位精度
,) show numwidth; 设置为15位 ; xa ------------------ 123456789012.12 或者 TO_CHAR(xa,'FM099999999999.09999 ...
- codeforces 1A
题目大意: 就是在一块长方形地面上铺瓷砖,然后一共要用多少块瓷砖,一块瓷砖被割开后只能用一次,输入长,宽,以及瓷砖边长,求一共需要多少块瓷砖: 基本思路: 这里有个技巧:就长来说,需要(n+k-1)/ ...
- CSP 2019 模板整合
qwq以下都为9.24后写的模板 namespace IO{ const int S = 1 << 20; char I[S + 1], *Is = I, *It = I, O[S + 1 ...
- linux上文件内容去重的问题uniq/awk 正则表达过滤操作
.uniq:只会对相邻的行进行判断是否重复,不能全文本进行搜索是否重复,所以往往跟sort结合使用. 例子1: [root@aaa01 ~]# cat a.txt 12 34 56 12 [root@ ...