文件和目录的普通权限,特殊权限,隐藏权限和acl权限

本文阅读 9 分钟

linux下一切皆是文件,通常情况下,文件主要有以下几个类型且通过不同的字符来区分: -:普通文件 d:目录文件 l:链接文件 b:块设备文件 c:字符设备文件 p:管道文件 linux下文件或者目录的权限有多种,主要是下面4种,分别为:

一:普通权限:

通常文件和目录具有: 文件: r (可读):表示文件具有访问权限,可以对文件进行阅读 w(可写):表示文件具有可写的权限,主要包括编辑,新增,删除,修改等权限 x(可执行):表示当文件作为脚本的时候,具有可执行的权限 目录: r (可读):表示具有可以读取该目录中的文件列表的权限 w(可写):表示具有新增,删除,重命名目录下文件的权限 x(可执行):表示具有进入该目录的权限,cd功能失效 img 为了便于记忆,会将r,w,x权限用2进制111表示,所以当文件或者目录具有rwx的权限的时候,代表数字为7,单独分开的话,r:100=4,w:010=2 x:001=1,所以通常r,w,x的权限数字代表分别为4,2,1

二:特殊权限

SUID权限:可以让二进制程序的执行者临时拥有属主的权限(仅对拥有执行权限的二进制程序有效—仅仅对命令文件有效)对象是命令文件 举例:查看/etc/shadow文件的属性: img 发现所有人都对这个文件没有读写和执行权限,但是为什么在普通用户环境下,用户通过passwd命令可以将修改后的密码信息写入到/etc/shadow/文件中呢? 这是因为给passwd命令的文件/usr/bin/passwd文件设置了SUID权限,让执行命令passwd的普通用户暂时拥有了所属主的权限,因为/etc/shadow文件的所属主是root用户,所以普通用户肯定也就可以将修改密码的信息写入到/etc/shadow文件中去了。 因为SUID权限是针对于命令文件且属于文件所属主的,所以我们可以查看到该文件的属性为: img 原来的x权限变为了s,这个时候就代表这个文件具有SUID权限了,这里需要注意下,当原来文件的所属主权限是rw-的时候会变成rwS,如果是rwx会变成rws。(也就是当文件的所属主位原来拥有x权限,那么添加特殊权限SUID后,x会被换为小写s,如果原来是没有x权限的,会被添加上大写S)

SGID权限:让执行者临时拥有所属组的权限(对拥有执行权限的二进制程序进行设置) 举例:假设现在root创建了一个SGID目录,所属主和基本组是root,现在切换到普通用户ykp-z中,在目录SGID下创建文件456,创建的文件的基本组都ykp-z,当时当给目录SGID设置了SGID权限后,使用其他普通用户创建的文件789的基本组就会继承所在目录的基本组,也就变成了root 未添加SGID命令前: img 添加SGID权限后: img SBIT权限:该权限的对象也是文件或者目录不过大多数的情况下对象是目录,作用是保护目录中的文件不被其他人进行修改,任何操作都不可以,只能文件的所属主才可以拥有权限去修改。 举例: img 创建一个目录SBIT,里面创建了文件123和文件456,并给目录设置了777权限,现在切换到普通用户下对文件进行操作: img 如上图,虽然普通用户对该目录/SBIT/拥有w权限,但是却无法删除该目录下的文件,那是因为设置了SBIT特殊权限,不仅仅不能删除,其他比如,

三:隐藏权限

linux系统中除了具备一般权限和特殊权限之外,还有一种隐藏权限 设置隐藏权限: chattr +/-参数 文件 查看文件的隐藏权限 lsattr 文件 -i无法对文件进行修改 -a仅允许对文件进行内容追加,不能对文件内容进行覆盖和删除,不可以直接对文件修改,但是可以通过重定向的方法追加到文件中 举例:给文件测试设置隐藏权限 -i img 解释:给文件ceshi设置-i参数后,直接是没有办法查看到是设置了隐藏权限的,可以通过lsattr命令进行查看,如上图,文件的所属主明明具有w权限,但是却无法删除文件,那是因为我们设置了隐藏权限-i,无法对文件进行修改。如果要去掉隐藏权限,只需要使用chattr -i命令即可。 img

四:acl权限

文件的acl权限提供的是所有者,所属组,其他人的读/写/执行权限之外的特殊权限控制,设置的对象是文件或者目录,受益的是用户或者整个组的成员 setfacl 参数 文件名称 通常 -R代表递归,适用于目录,-m参数作用于普通文件,通常acl权限设置对象为目录 举例:如果要查看文件/etc/shadow文件,普通用户是没有这个权限查看的,这个时候就可以添加acl权限给文件/etc/shadow,使普通用户具有查看的权限。如下图: img 如上图:普通用户查看/etc/shadow文件是没有权限的,getfacl命令可以查看目前的acl权限,getfacl 文件名或目录名 img 设置acl权限给普通用户ykp-z后,则可以查看/etc/shadow文件中的内容,ykp-z用户也具有对该文件额读权限了,另外设置了facl权限后,目录或者文件属性中的“.”会变成+号,如果要删除acl权限,则只需要: setfacl -b 文件名/目录名 img acl权限总结: 设置acl命令格式: setfacl -Rm u/g:用户名/组名:rwx 文件名/目录名 删除acl权限:setfacl -b 文件名/目录名 查看acl权限:getfacl 文件名/目录名 总结: linux下文件或者目录主要有4种属性(权限): 普通权限 r,w ,x,对象是文件或者目录 特殊权限: SUID:文件所属主 u 对象是:二进制文件,通常情况下为命令文件 SGID:文件所属组 g:二进制文件,通常情况下为命令文件 SBIT:其他人 o :通常作用为目录,保护目录中的文件 隐藏权限:对象通常是文件 acl权限:对象是文件或者目的,受益者为用户或者组。 文件的权限还是蛮杂的,需要多多练习。

本文为互联网自动采集或经作者授权后发布,本文观点不代表立场,若侵权下架请联系我们删帖处理!文章出自:https://blog.csdn.net/weixin_44431280/article/details/104572644
-- 展开阅读全文 --
KillDefender 的 Beacon 对象文件 PoC 实现
« 上一篇 02-09
Web安全—逻辑越权漏洞(BAC)
下一篇 » 03-13

发表评论

成为第一个评论的人

热门文章

标签TAG

最近回复