收藏 分享(赏)

Linux越权假象.docx

上传人:j35w19 文档编号:4296836 上传时间:2018-12-21 格式:DOCX 页数:5 大小:222.39KB
下载 相关 举报
Linux越权假象.docx_第1页
第1页 / 共5页
Linux越权假象.docx_第2页
第2页 / 共5页
Linux越权假象.docx_第3页
第3页 / 共5页
Linux越权假象.docx_第4页
第4页 / 共5页
Linux越权假象.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、起因:做鸟哥的 Linux 私房菜 第七章“Linux 文件与目录管理 ”情景模拟题。实验内容:用 root 账号创建两个账号 zhox01 与 zhox02,这两个账号除了自己的用户组还支持一个共同的用户组 hxxy。假设这两个用户共同拥有/srv/ahome/ 目录的开发权,且该目录不允许其他人进入查阅。1.添加用户与用户组2.配置工作目录3.可以看到 rwx 权限的/srv/ahome/下 zhox01 用户创建的文件所属用户组为 zhox01,此时 zhox02 对于这个文件为 others,权限为 r-。4.给工作目录加上 SGID 权限,zhox01 在其中创建的文件用户组为 hx

2、xy,zhox02 对该文件的权限为 group 的 rw-。达到了实验要求。上述为正常的实验流程。在完成第四步后,我试着用 VI 编辑了对于 zhox02 权限为 r-的 test1,写入失败,VI提示可以试着加!强制写入(override )。再用”:wq!”强制写入,结果写入成功。写入之后的文件属性如下:可以看到文件所有者变成了 zhox02,用户组变成了 hxxy。思考片刻,发现我在/srv/ahome/目录上加了 SGID 权限了,此时 zhox02 的 effective group 应该是 hxxy。但是 test1 是加 SGID 之前创建的,用户组标记为 zhox01。如果说

3、加了上层目录加了 SGID 后里面的文件属性也跟着变化,可以说通。那 zhox02 的权限是用户组的 rw-而不是 r-。zhox02 是有权限去改变文件 test1 的状态的。随即我想测试下如果取消了 SGID 会是什么样的情况。如图,SGID 已经取消,zhox01 创建文件 test4,所属用户组为 zhox01,zhox02 对于此文件为 other,权限为 r-。再次用 VI 强制写入,结果成功了。如图:这次的测试结果让我觉得:这不科学。/srv/ahome/的 SGID 已经取消,zhox02 在此目录下的 effective group 既不是 hxxy 更不是 zhox01。对

4、于文件 test4,zhox02 的身份确实是 others,权限为 r-。VI 为什么可以强制写入?首先想到的是昨天看过的 SUID,有些二进制程序在文件所有者的 x 权限上加入s(SUID )权限,执行者运行时会暂时取得文件所有者的权限,如果 VI 的所有者是root,并且在文件所有者的 x 权限上加入了 SUID,那么调用 VI 时,用户身份为root,是有权写入 test4 的。which 查看 vi 未知,得到文件位置 /bin/vi。接着查看 vi 的属性,如图:可以看到没有 SUID 权限。反过来想,给 VI 加 SUID 权限也太不安全了,任何人在运行 vi 时都是 root

5、权限,那不是任何文件都能更改!下一个想法是 zhox02 对/srv/ahome/目录具有 rwx 权限,有权改变目录结构。但是目录结构并没有改变,否定。想了很久都没有思路,想到去看看鸟哥对 VI 的强制写入是怎么说的。翻阅后得知:当对文件权限为 r-r-r-时,的确可以通过“:wq!”强制写入,但前提是有权限更改操作者对文件的权限。马上测试,用 zhox01 创建一个 test5,用 zhox02 尝试改变文件属性:可以看到,操作不被允许。zhox02 是没有权限改变自己对 test5 的权限的。实在想不明白,vi 是怎样实现强制写入的,这不是“越权”了吗?回头翻书把,翻到权限对于文件和目录

6、的意义。在 w 权限对目录的意义中,看到一条:可以删除该目录下的文件,不论文件的权限为何。既然并不能改变操作者对于文件的权限,如果把它删了,创建一个同名的文件呢?就可以达到“写入”的目的了。重新创建的文件所有者和用户组都是自己,很符合 VI 强制写入之后文件属性的改变。看来这个猜想很有何能。如何证实?想到文件的隐藏属性中,有个参数是可以给文件添加“只能添加数据,不能删除文件和修改数据”的属性。切回 root 身份,添加属性:再切到 zhox02,发现已经无法写入:到这里我以为我已经证实了自己的想法,但是我太天真了,因为对 test5 有 w 权限的zhox01 也无法写入了:看来我对隐藏属性 a 的理解错误了。换一种方式,chmod 750 /srv/ahome。让用户组 hxxy 对/srv/ahome 不再有 w 权限,这样 zhox01 可以写入 test5,zhox02 不能写入并且也不能删除 test5。验证结果:zhox01 可以在 test5 中写入数据,zhox02 不能写入数据,强制写入也失效。总结:1一个用户对一个文件的权限,不能光看文件。看似不能写入的文件,并不一定就真的不能写入。2. 权限对于文件和目录的意义一定要深刻理解。3.目录的 w 权限很危险,应当慎重配置。4.把握细节,刨根问底。感谢:技不如人资深宅男Kevin2600等热心人士帮助解答。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 网络科技 > linux/Unix相关

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报