Linux特殊权限详解

实际上Linux有12位权限,咱们前面说的Linux权限都只说了经常使用的9位权限,剩下的特殊权限也常常被用来进行Linux提权,若是没有了解了的,能够移步以前的文章《Linux权限详解》、《Linux安全权限》shell

目录

0x01 介绍安全

0x02 特殊权限详解学习

0x01 介绍

Linux一共有12位权限,除过以前说的rwxrwxrwx的9位权限,还有3位的特殊权限ui

suid位:setuid,用S表示,若是用户位对应的x位上有x时使用s表示,对应数字为4,与用户相关的权限3d

file

sgid位:setgid,用S表示,若是用户组对应的x位上有x时使用s表示,对应数字为2,与用户组相关的权限code

file

sticky位,粘滞位,用T表示,若是其余用户组对应的x位上有x时使用t表示,对应数字为1,与其余用户组相关的权限blog

file

粘滞位有一个特殊的目录就是tmp目录继承

file

0x02 特殊权限详解

suidfile

suid是让普通用户能够以root或其余的用户角色运行只有root或其余帐号才能运行的命令或程序,或程序命令对应原本没有权限操做的文件等,suid为某一个命令设置特殊权限,使用者为全部人搜索

这里用一个例子来讲明这个问题

先添加一个新的用户,并为其设置密码

file

咱们再明确一下更改密码的话shadow文件是否会更改

file

说明shadow文件确实被更改了,那shadow的权限又是怎样的

file

会发现只有root用户拥有写权限,那是否是意味着其余用户不能更改密码

file

事实并非这样的,其余用户也是能够修改密码的,这就是由于这个文件的特殊权限的缘由,能够发现它是拥有suid权限的,因此任何用户执行这个命令都会拥有和这个命令所对应的权限,用这个例子来讲就是任何用户执行这个命令就拥有了root的权限

file

咱们再用一个删除操做来看一下

咱们来看一下默认状况下的删除操做

file

若是咱们给删除命令增长suid权限又会发生什么状况

file

能够发现添加了suid权限,使用低权限用户就能够删除root用户才能操做的文件

到这里基本就能够理解清楚suid的用法了,可是还有几点须要注意一下的

suid仅对二进制命令程序有效,不能做用在shell等脚本文件上,并且suid权限仅在命令执行过程当中有效

咱们能够搜索一下哪些文件时有s权限的

find /bin -type f -perm 4755 -exec ls -l {} \;

file

等后面在使用suid进行提权的时候咱们还会再次提到这个东西

若是对这个find命令不太懂的能够移步《Linux文件查找命令详解》

sgid

sgid是与用户组相关的,sgid与suid不一样的是,sgid既能够针对文件也能够针对目录

对于文件来讲,sgid仅对二进制命令程序有效,执行命令的用户能够得到该程序执行期间所属组的权限,suid是拥有这个用户的权限

对于目录来讲(继承目录所属的组),Linux默认状况下用户建立文件,默认用户和组都是它本身,sgid可让用户在此目录下建立的文件和目录,具备与此目录相同的用户组设置

这里就再也不举例子来讲明了,跟suid所验证的方式是同样的

粘滞位

粘滞位就是你能够往里面放内容可是却不能对这个文件进行操做

file

文章首发公众号:无意的梦呓(wuxinmengyi)

这是一个记录红队学习、信安笔记,我的成长的公众号

扫码关注便可

file

相关文章
相关标签/搜索