【问题标题】:/proc filesystem advantages/proc 文件系统的优点
【发布时间】:2011-02-15 07:19:43
【问题描述】:

我发现了这个链接http://www.ibm.com/developerworks/linux/library/l-proc.html

当我对/proc 文件系统进行更多研究时,我开始知道它的主要优势在于它驻留在内核空间中。但是,如果用户空间程序具有适当的权限,它仍然可以对其进行写入。我真的不明白这是怎么回事。谁能解释一下!

【问题讨论】:

    标签: linux filesystems virtual


    【解决方案1】:

    您应该将 /proc 视为通往内核的管道。您可以修改内核参数并及时查看内核在做什么。

    问候

    【讨论】:

    • 你的意思是说 /proc 是一个命名管道?
    【解决方案2】:

    在 linux 中,文件系统是通过一系列系统调用实现的,这些系统调用提供您期望的所有操作,openclosereadwrite,诸如此类。

    内核提供了一种将这些调用映射到底层文件系统实现的方法。这个映射层称为 VFS,有很多页面描述它(例如the VFS Tour)。

    并非所有文件系统都必须存在于旋转磁盘或任何永久存储介质上。正如您所说, /proc 完全在内存中。其函数如readwrite 的实现提供了对Linux 内核各个方面的访问。

    【讨论】:

    • Ok.. 这里有一些观察——我回显到 /proc/filename 但我得到了权限被拒绝错误(我回显时我是 root)但是当我运行一个打开文件并写入的 c 程序时对它来说,它的值被写入/proc。我对这里发生的事情一无所知!
    • 你做了类似“sudo echo blah > /proc/filename”的事情吗?在这种情况下,只有“echo blah”部分以 root 身份运行,而不是输出重定向。
    • 哦..!!精彩的!!但是后来我用 666 打开了文件,这意味着任何人都可以写入它吗?即便如此,问题仍然存在!
    • 顺便问一下这是哪个文件?只有一些 proc 文件可以被写入,其他的无论权限是什么都是只读的。一般来说,你不应该写信给 /proc 并期待正常的事情发生。它不是一般的存储空间。 :)
    • 我知道它不是一个通用的存储空间......我创建了一个 lkm,我用它来打开一个名为 /proc/filename 的文件,其中 666 作为权限位......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-07
    • 2013-08-25
    • 2021-05-26
    • 1970-01-01
    • 2021-10-18
    • 1970-01-01
    • 2011-06-17
    相关资源
    最近更新 更多