什么值不能在/ proc / sys中更改?

什么值不能在/ proc / sys中更改?

echo "Windows" > /proc/sys/kernel/ostype bash: /proc/sys/kernel/ostype: Permission denied 

为什么?

由于ostype没有写入权限:

 ls -al /proc/sys/kernel/ostype -r--r--r-- 1 root root 0 2011-02-25 05:20 /proc/sys/kernel/ostype 

如果/ proc / sys /中的文件具有写权限,则可以更改其中的值。

这个问题的真正答案是真正理解proc文件系统的含义 。 /proc不是一个真正的文件系统 – 它是系统内部的文件系统接口。 当你在/ proc中读取或写入内容时,你并不是在读取或写入磁盘,而是直接读写内核内存或设备驱动程序。

因此,对“为什么我不能写入/proc/sys/kernel/ostype ?”的基本答案是这样的。 是该file是不可写的。 然而,更完整的答案是,这个特定的文件以只读方式呈现给您,因为改变它是没有意义的。 “ostype”是运行系统的不变属性。