Linux

缺少 procfs 和 sysctl 設置的預設值

  • May 11, 2017

我有幾個關於處理procfssysctl值的問題。

可以通過缺少 /proc 文件啟用功能嗎?

缺少/procsysctl條目是否總是意味著該特定核心上未啟用該選項?換句話說:核心是否可以在沒有相應/proc條目的情況下啟用或支持某個功能?我假設沒有人更改核心原始碼以刪除填充的程式碼部分/proc

如果可以 - 它是否預設為特定值?

/proc如果相應的 proc-File 不存在,我想知道值是否預設為一個值。如果由於某種原因我的核心支持aslr,但/sys/kernel/randomize_va_space不存在,這是否會導致 aslr 處於活動狀態?

所有設置的行為都相同嗎?

所有核心、版本和功能的行為是否相同?還是我必須單獨獲取每個設置的這些資訊?

例如:

如果/proc/sys/kernel/sysrq我的機器上不存在,這是否意味著

  1. 我的核心上沒有Magic SysRQ 功能?
  2. 它可用嗎?
  3. 它是否可用取決於我不知道的其他選項?
  4. 此功能的特定程式碼包含硬編碼的預設值,並且此設置對於核心上的每個功能都不同?因此,如果我想知道它的預設值是什麼,我必須查看每個功能的程式碼。

有很好的文件可供我閱讀核心設置的含義。是否有解釋預設行為的文件?

/proc/sys目錄用於暴露 Liunx 核心的“調整旋鈕”。完全有可能(儘管非常罕見)有一些工作核心功能沒有任何條目,/proc或者/sys- 例如,如果該核心功能沒有任何參數,也沒有任何內容要發布給使用者,則不需要任何條目。

但是,如果核心文件中有一些記錄/引用的條目但您找不到它們,則會出現兩種可能性:

  • 您使用的是舊核心,沒有這些旋鈕;
  • 您沒有使用香草核心- 即您的核心或多或少是由某人(可能是您的發行版維護者)定制的。

/proc如果您認為核心上啟用了某些功能,但在and中找不到任何條目,/sys請查看您的核心配置文件(通常通過 in/boot或 in 中的文件獲得/proc/config.gz

引用自:https://serverfault.com/questions/847982