抛开这一点的需要,我想将其写入(创建文件)到/sys/devices/pci0000:00/{one-of-the-devices}/
.
运行touch a
返回touch: cannot touch 'a': Permission denied
。
(我在某处读到,向给定文件夹授予写入权限是不够的 - 如果层次结构中的父文件夹之一没有写入权限。我对此进行了测试,但似乎并不成立。)
不管怎样,我显然尝试使用sudo
甚至冒充 root 用户sudo su root
,但不断被拒绝。
文件系统中是否存在仅允许内核空间写入的文件夹(而不是用户空间)?也许操作系统间歇性刷新/写入虚拟文件系统?也许该文件夹是一个链接,我不知道?
答案1
是的,大多数虚拟文件系统(例如Linux 上的/proc
和/sys
Linux 上的虚拟文件系统)都不能任意使用,因为它们不存储文件,而是提供对内核内部对象的访问。所以不是那样的
操作系统间歇性刷新/写入的虚拟文件系统
— 虚拟文件系统不存储由内核刷新的数据;读取和写入虚拟文件系统会导致读取和写入内核中的数据。
添加新的底层数据结构时,/proc
会出现新的目录和文件;/sys
尝试在那里创建目录和文件是没有意义的。