题 在/ proc / sys中无法更改什么值?


在/ proc / sys中无法更改什么值?

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

为什么?


4
2018-02-25 05:02






答案:


因为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 /中的文件具有写入权限,则可以更改其中的值。


3
2018-02-25 05:06





这个问题的真正答案是真正了解什么 proc文件系统意味着/proc 不是一个真正的文件系统 - 它是系统内部的文件系统接口。当您在/ proc中读取或写入内容时,您不会在磁盘上读取或写入内容 - 您正在直接读取和写入内核内存或设备驱动程序。

因此,是'为什么我不能写信给我的基本答案 /proc/sys/kernel/ostype?是那个 file 是不可写的。但是,更完整的答案是,此特定文件以只读方式呈现给您,因为更改它没有任何意义。 'ostype'是正在运行的系统的不可变属性。


7
2018-02-25 07:06



菲尔:一个“大局”答案的可爱例子,内容翔实,准确且引用良好。我向OP(以及其他人)推荐它。 - MadHatter
噢,感谢MadHatter。 - Phil Hollenback