天天看點

秘密武器:使用 SysRq 鍵安全重新開機挂起的 Linux

秘密武器:使用 SysRq 鍵安全重新開機挂起的 Linux

首先确認目前使用的 linux 核心支援 sysrq:

<code># grep "config_magic_sysrq" /boot/config-`uname -r`</code>

<code>config_magic_sysrq=y</code>

如果系統預設關閉了 kernel.sysrq 的話,需要打開。為了保證每次系統重新開機核心參數都生效,建議把配置寫到 sysctl.conf 檔案裡:

<code># sysctl kernel.sysrq</code>

<code>kernel.sysrq = 0</code>

<code></code>

<code># sysctl -w kernel.sysrq=1</code>

<code>kernel.sysrq = 1</code>

<code># vi /etc/sysctl.conf</code>

<code>...</code>

<code># controls the system request debugging functionality of the kernel</code>

sysrq 配置好後就可以開始用了。sysrq 安全重新開機的推薦按鍵組合是 alt + sysrq + r-e-i-s-u-b,先按下 alt 鍵和 sysrq 鍵,然後依次按下 r e i s u b 鍵(不區分大小寫)。這個 r e i s u b 序列組合的意思是:

r – 把鍵盤設定為 ascii 模式 e – 向除 init 外所有程序發送 sigterm 信号 i – 向除 init 外所有程序發送 sigkill 信号 s – 磁盤緩沖區同步 u – 重新挂載為隻讀模式 b – 重新開機系統

需要注意的是這些按鍵之間有順序,而且按鍵之間有時間間隔(因為要等待前一個操作的完成),推薦的時間間隔是:

<code>r</code> – 1 秒 – <code>e</code> – 30 秒 – <code>i</code> – 10 秒 – <code>s</code> – 5 秒 – <code>u</code> – 5 秒 – <code>b</code>。

即使是 magic sysrq 對不 non-interruptible 的 system hang 也沒辦法。不過 sysrq 在關鍵時刻能幫上大忙,避免資料不一緻和丢失,甚至檔案系統損壞。 一般是這麼記的 =&gt; busier 順序倒過來,意味着接下去會越來越忙?

我們通常隻在意資料是否安全的同步到了磁盤,是以我們一般隻用 s-b 組合,按下 alt + sysrq + s 後等待 emergency sync complete 提示,同步完成确認後用 alt + sysrq + b 立刻重新開機。

 原文釋出時間為:2013-10-04

本文來自雲栖社群合作夥伴“linux中國”

繼續閱讀