5.3.9.3. /proc/sys/kernel/
このディレクトリーには、カーネルの操作に直接影響するさまざまな設定ファイルが含まれています。最も重要なファイルには以下が含まれます。
acct
- ログを含むファイルシステムで利用可能な空き領域の割合に基づいて、プロセスアカウンティングの一時停止を制御します。デフォルトでは、ファイルは以下のようになります。4 2 30
最初の値は、ロギングの再開に必要な空き容量の割合を決定し、2 番目の値はロギングが一時停止されたときの空き領域のしきい値パーセンテージを設定します。3 番目の値は、カーネルがファイルシステムをポーリングして、ロギングを一時停止または再開する必要があるかどうかを確認する間隔を秒単位で設定します。cap-bound
: システム上のプロセス の機能 一覧を提供する機能バウンディング設定を制御します。機能がここに一覧表示されていない場合は、特権の種類に関係なく、プロセスが実行できません。これは、ブートプロセスの特定地点を超えた特定の事態を確実に行わないようにすることで、システムをよりセキュアにすることです。この仮想ファイルの有効な値の一覧については、以下のインストール済みドキュメントを参照してください。/lib/modules/<kernel-version>/build/include/linux/capability.h
.Ctrl-alt-del -
Ctrl+Alt+Delete で init (0
)を使用してコンピューターを正常に再起動するか、ダーティーバッファーをディスクと同期せずに直ちに再起動を行うか(1
)を制御します。- domainName:
example.com
などのシステムドメイン名を設定します。 exec-shield
- カーネルの Exec Shield 機能を設定します。exec Shield は、特定タイプのバッファーオーバーフロー攻撃に対する保護を提供します。この仮想ファイルには、以下の 2 つの値を使用できます。- 0 - Exec Shield を無効にします。
- 1 - Exec Shield を有効にします。これはデフォルト値です。
重要な影響Exec Shield が無効になっている間に起動したセキュリティーの影響を受けるアプリケーションを実行している場合は、Exec Shield を有効にするために Exec Shield が有効な場合にこれらのアプリケーションを再起動する必要があります。exec-shield-randomize
- メモリー内のさまざまな項目の場所のランダム化を有効にします。これにより、潜在的な攻撃者がメモリー内のプログラムやデーモンを見つけるのを防ぐことができます。プログラムまたはデーモンが起動するたびに、静的メモリーまたは絶対メモリーアドレスで決して、毎回異なるメモリーの場所に配置されます。この仮想ファイルには、以下の 2 つの値を使用できます。- 0 - Exec Shield のランダム化を無効にします。これは、アプリケーションのデバッグに役立ちます。
- 1 - Exec Shield のランダム化を有効にします。これはデフォルト値です。注記:
exec-shield
-randomize を有効にするには、exec-shield
ファイルも 1 に設定する必要があります。
hostname
-www.example.com
などのシステムホスト名を設定します。ホットプラグ
: システムによって設定の変更が検出されたときに使用されるユーティリティーを設定します。これは主に USB および Cardbus PCI で使用されます。このロールを実行するために新しいプログラムをテストしない限り、デフォルト値の/sbin/hotplug
は変更しないでください。modprobe
- カーネルモジュールの読み込みに使用するプログラムの場所を設定します。デフォルト値は/sbin/modprobe
で、カーネルスレッドが kmod を呼び出すときにモジュールをロードするために kmod を呼び出すことを意味します。msgmax
: あるプロセスから別のプロセスに送信されるメッセージの最大サイズを設定し、デフォルトでは8192
バイトに設定されます。プロセス間のキューに置かれたメッセージはスワップ不可能なカーネルメモリーに保存されるため、この値を引き上げる際には注意してください。msgmax
を増やすと、システムの RAM 要件が増えます。msgmnb
- 1 つのメッセージキューに最大バイト数を設定します。デフォルトは16384
です。MSGMNI
: メッセージキュー識別子の最大数を設定します。デフォルトは16
です。osrelease
: Linux カーネルのリリース番号を一覧表示します。このファイルは、カーネルソースを変更して再コンパイルするだけで変更できます。OSType
: オペレーティングシステムの種類を表示します。デフォルトでは、このファイルはLinux
に設定されています。この値は、カーネルソースを変更して再コンパイルするだけで変更できます。overflowgid
およびoverflowuid
: 16 ビットグループとユーザー ID のみをサポートするアーキテクチャーのシステムコールで使用するために、それぞれ固定グループ ID とユーザー ID を定義します。panic
- システムがカーネルパニックが発生したときにカーネルが再起動を延期する秒数を定義します。デフォルトでは、値は0
に設定されています。これにより、パニック後の自動再起動が無効になります。printk
: このファイルは、エラーメッセージの出力またはロギングに関連するさまざまな設定を制御します。カーネルによって報告される各エラーメッセージには、メッセージ の重要性を定義するログレベルが関連付けられています。ログレベルの値は、以下の順序で分類されます。0
- カーネル緊急。システムが利用できません。1
- カーネルアラート。すぐに対処する必要があります。2
- 重大な問題があると見なされるカーネルの状態。3
- 一般的なカーネルエラー状態。4
- 一般的なカーネルの警告状態。5
- 正常だが重大な状態のカーネル通知。6
: カーネル情報メッセージ。7
- カーネルのデバッグレベルのメッセージ。
printk
ファイルには 4 つの値があります。6 4 1 7
これらの値はそれぞれ、エラーメッセージを処理するための異なるルールを定義します。コンソールログレベル と呼ばれる最初の値は 、コンソール に出力されるメッセージの最も低い優先度を定義します。(優先順位が低いほど、ログレベル番号が高いことに注意してください。) 2 番目の値は、明示的なログレベルが付いていないメッセージのデフォルトログレベルを設定します。3 番目の値は、コンソールログレベルに可能な限り低いログレベル設定を設定します。最後の値は、コンソールログレベルのデフォルト値を設定します。random/
ディレクトリー:カーネルの乱数の生成に関連する多数の値を一覧表示します。rtsig-max
- いつでもシステムがキューに置かれた可能性のある POSIX リアルタイムシグナルの最大数を設定します。デフォルト値は1024
です。rtsig-nr
- カーネルによってキューに入れられた POSIX リアルタイムシグナルの現在の数を一覧表示します。sem
- カーネル内でセ マフォ を設定します。セマフォとは、特定のプロセスの使用状況を制御するために使用される System V IPC オブジェクトです。shmall
: システム全体で使用できる共有メモリーページの合計量を設定します。デフォルトでは、この値は2097152
です。shmmax
- カーネルで許可される最大共有メモリーセグメントサイズを設定します。デフォルトでは、この値は33554432
です。ただし、カーネルは、これよりもはるかに大きな値をサポートします。SHMMN
I: システム全体で共有メモリーセグメントの最大数を設定します。デフォルトでは、この値は4096
です。ubuntu
: この値がゼロ(0
)以外の値に設定されている場合は、システム要求キーを有効にします。System Request Key を使用すると、単純なキーの組み合わせでカーネルに即時入力できます。たとえば、System Request Key を使用すると、システムを直ちにシャットダウンまたは再起動したり、マウントされたすべてのファイルシステムを同期したり、コンソールに重要な情報をダンプしたりできます。System Request Key を開始するには、Alt+ system request code> と入力します 。< ;system request code> を、以下のシステム要求コードのいずれかに置き換えます。- r - キーボードの raw モードを無効にし、これを XLATE に設定します(すべてのキーで Alt、Ctrl、または Shift など、Alt、Ctrl、Shift など)は認識しません。
- k - 仮想コンソールでアクティブなすべてのプロセスを強制終了します。SAK( Secure Access Key )とも呼ばれ、ユーザー名とパスワードを取得するように設計された Trojan コピーではなく、init からログインプロンプトが生成されることを確認するために使用されます。
- b - 最初にファイルシステムのマウントを解除したり、システムに接続されているディスクを同期したりせずにカーネルを再起動します。
- c - 最初にファイルシステムのマウントを解除したり、システムに接続されているディスクを同期したりせずにシステムがクラッシュします。
- o - システムをシャットオフします。
- s: システムに接続されているディスクの同期を試みます。
- u - すべてのファイルシステムのアンマウントと再マウントを読み取り専用として試行します。
- p: すべてのフラグを出力し、コンソールに登録します。
- T: コンソールにプロセスの一覧を出力します。
- m: コンソールにメモリー統計を出力します。
- 0 から 9: コンソールのログレベルを設定します。
- e: SIGTERM を使用して init 以外のすべてのプロセスを強制終了します。
- i - SIGKILL を使用して init 以外のすべてのプロセスを強制終了します。
- l - SIGKILL ( initを含む)を使用してすべてのプロセスを強制終了します。この System Request Key コードを発行すると、システムは使用できなくなります。
- H: ヘルプテキストを表示します。
この機能は、開発カーネルを使用する場合や、システムのフリーズが発生した場合に最も有益です。注意無人コンソールは攻撃者にシステムにアクセスできるため、System Request Key 機能はセキュリティーリスクとみなされます。このため、デフォルトでは無効になっています。システム要求キーの詳細は、/usr/share/doc/kernel-doc- <version> /Documentation/sysrq.txt
を参照してください。ubuntu-key
: System Request Key のキーコードを定義します(84
がデフォルトです)。ubuntu-sticky
: システム要求キーが予約されたキーの組み合わせかどうかを定義します。許可される値は以下のとおりです。0
: Alt+とシステム 要求コードを同時に押す必要があります。これはデフォルト値です。1
- Alt+0 -9] は同時に押す必要がありますが、/proc/sys/kernel/sysrq-timer
elapses で指定する秒数の前に、システム要求コードはいつでも押します。
ubuntu-timer
- システムリクエストコードをスキップするまでに許可される秒数を指定します。デフォルト値は 10 です。tainted
: GPL 以外のモジュールが読み込まれているかどうかを示します。0
- GPL 以外のモジュールがロードされません。1
- GPL ライセンスのない少なくとも 1 つのモジュール(ライセンスのないモジュールを含む)が読み込まれます。2
- 少なくとも 1 つのモジュールが insmod -f コマンドで強制的に読み込まれました。
threads-max
: デフォルト値の2048
で、カーネルが使用するスレッドの最大数を設定します。version
- カーネルが最後にコンパイルされた日時を表示します。#3
など、このファイルの最初のフィールドは、カーネルがソースベースからビルドされた回数に関連しています。