linux – 文件权限如何为“root”用户工作?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了linux – 文件权限如何为“root”用户工作?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2176字,纯文字阅读大概需要4分钟。
内容图文
![linux – 文件权限如何为“root”用户工作?](/upload/InfoBanner/zyjiaocheng/959/463bb22b85b4457ea9c304bdaf43803c.jpg)
我有以下文件:
---------- 1 Steve Steve 341 2017-12-21 01:51 myFile.txt
我将用户切换到终端root,我注意到以下行为:
>我可以读取此文件并写入.
>我无法执行此文件.
>如果我在用户权限(— x ——)或组权限(—— x —)或其他权限(——中设置x位) — x)文件,然后我就可以执行这个文件了.
任何人都可以向我解释或指向一个教程,解释当root用户处理文件和目录时适用的所有规则吗?
解决方法:
对文件和目录的特权访问实际上是由功能决定的,而不仅仅是root用户.在实践中,root通常具有所有可能的功能,但是在某些情况下,可以删除所有/许多功能,或者将某些功能(其进程)提供给其他用户.
简而言之,您已经描述了访问控制检查如何为特权进程工作.以下是不同功能实际影响它的方式:
主capability here is CAP_DAC_OVERRIDE,一个具有它的进程可以“绕过文件读取,写入和执行权限检查”.这包括读取和写入任何文件,以及读取,写入和访问目录.
它实际上不适用于执行未标记为可执行文件的文件.在访问检查文件之前,comment in generic_permission(fs / namei.c)说明了这一点
Read/write DACs are always overridable. Executable DACs are overridable when there is at least one exec bit set.
如果您尝试执行该文件,代码会检查是否至少设置了一个x位.我怀疑这只是一个方便的功能,以防止意外运行随机数据文件,并获得错误或奇怪的结果.
无论如何,如果你可以覆盖权限,你可以制作一个可执行副本并运行它. (虽然它可能会对进程的setuid文件的理论产生影响,但能够覆盖文件权限(CAP_DAC_OVERRIDE),但没有其他相关功能(CAP_FSETID / CAP_FOWNER / CAP_SETUID).但是有CAP_DAC_OVERRIDE允许编辑/ etc / shadow这样的东西,所以它大约相当于只有完全root访问权限.)
还有CAP_DAC_READ_SEARCH功能,允许读取任何文件并访问任何目录,但不执行或写入它们;和CAP_FOWNER允许进程执行通常仅为文件所有者保留的内容,例如更改权限位和文件组.
仅在CAP_FOWNER下提及覆盖目录上的粘滞位,因此似乎CAP_DAC_OVERRIDE不足以忽略它. (它会给你写权限,但通常在粘性目录中你有这个,并且限制它.)
(我认为特殊设备在这里算作“文件”.至少generic_permission()只对目录进行类型检查,但我没有在那之外检查.)
当然,有些情况甚至功能都无法帮助您修改文件:
> / proc和/ sys中的一些文件,因为它们不是真正的实际文件
> SELinux和其他可能限制root的安全模块
> chattr不可变i并且只在ext2 / ext3 / ext4上附加一个标志,这两个标志都停止了root,并防止文件重命名等.
>网络文件系统,服务器可以在其中进行自己的访问控制,例如NFS中的root_squash将root映射到nobody
> FUSE,我认为可以做任何事情
>只读安装
>只读设备
内容总结
以上是互联网集市为您收集整理的linux – 文件权限如何为“root”用户工作?全部内容,希望文章能够帮你解决linux – 文件权限如何为“root”用户工作?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。