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 ...
随机推荐
- spark sql数据源--hive
使用的是idea编辑器 spark sql从hive中读取数据的步骤:1.引入hive的jar包 2.将hive-site.xml放到resource下 3.spark sql声明对hive的支持 案 ...
- linux python2.6升级2.7
一.升级 Python 2.7.10 版本 1. 准备安装包,系统是最小化安装 # 下载安装依赖的相关包[root@vip ~]# yum install vim gcc make wget -y [ ...
- redis Set相关命令
- 负载均衡实现故障vip自动漂移
环境说明演示vip自动漂移 192.168.237.50 192.168.237.51 vip: 192.168.237.5 keepalived开源软件实现 keepalived可以实现当vip挂的 ...
- Github Statistics 一个基于 React 的 GitHub 数据统计工具
V 站曾经有个热帖说为何我的开源项目只有 Fork 没有 Star,楼下有个热评说开源项目关注的不应该是 Commit 数据吗?先不论 Star.Fork 和 Commit,issue .pr 也应是 ...
- git的使用(扫盲)
之前一直是通过图形化工具使用git,前两天练习用命令上传代码,遇到不少问题,最终还是解决了,在这里总结一下. 通过一个例子来演示一下.首先去github上面创建一个仓库. 创建好之后,就可以上传文件了 ...
- python 数据的存储
数据的存储 思考:为什么使用计算机?存储数据,计算数据 思考:数据存在哪里?数据存储在内存里 思考:数据怎么在内存里存储的?首先弄明白怎么存储数字 1010.5“sunck is a good man ...
- 使用cordova,监听安卓机物理返回按键,实现退出程序的功能
在使用html5开发app时,并不能像Android原生那样调取手机自身的方法.而cordova正好弥补了html5这一缺陷. 一,在cordova中文网http://cordova.axuer.co ...
- foreach循环的跳出
由于foreach循环中不像for循环可以直接通过return或break来终止当前循环,不过这里可以借助try...catch...来完成var arr = [1,2,3,4,5,6,7,8,9,1 ...
- Android中对TextView中的部分内容的字体样式的设置方法
Android中的TextView中内容,有时候需要对其部分内容添加下划线和颜色操作: String str = "回复 " + uname + " 的评论: " ...