Linuxカーネルの監督の下に変数を置くことは可能ですか?
たとえば、インクリメントのみ可能なカウンタ、書き込むことができますが、認証後にのみ読み取れる変数などがあります。
理想的には、再起動後も持続し、実行間で変更することはできません。
/ procファイルシステムを介して変数にアクセスし、カーネルキーリングに値を格納できるカーネルモジュールを考えることができます。
しかし、解決策が見つかりません。
ユースケースは、例えばソフトウェアeFuseです。https://en.wikipedia.org/wiki/EFUSEユーザー空間変数を安全に保存する機能。
答え1
サービスの終了時にキャッシュが保存されるため、Redisを使用してデータ構造を保存して再起動してから検索できます。
Redisはprocを使用せずにユーザードメインレベルで実行され、デフォルトでは6379 / TCPで通信します。
PythonやPHPを含む複数の言語のAPI/拡張もあります。
wget
また、いくつかの診断を実行し、telnet //を介していくつかのコマンドを送信することもできますcurl
。
パスワードで保護できます。
Debian にインストールしてください
sudo apt-get install redis-server
。
Redisは、データベース、キャッシュ、およびメッセージブローカーとして使用されるオープンソース(BSDライセンス)インメモリデータ構造リポジトリです。文字列、ハッシュ、リスト、セット、範囲クエリを含むソートされたセット、ビットマップ、ハイパーログ、半径クエリを含む地理空間インデックスなどのデータ構造をサポートします。 Redisには、レプリケーション、Luaスクリプト、LRUの削除、トランザクション、およびさまざまなレベルのディスク永続性が組み込まれています。
したがって、Redisクイックガイド
Redisはオープンソースの高度なKey-Valueリポジトリであり、スケーラブルで高性能なWebアプリケーションを構築するのに適したソリューションです。
Redisには独自の3つの主な機能があります。
Redisはデータベース全体をメモリに保持し、永続性のためにディスクのみを使用します。
多くのKey-Valueデータストアと比較して、Redisには比較的豊富なデータ型セットがあります。
Redisは任意の数のスレーブにデータを複製できます。
答え2
元の質問とその後のコメントを考慮すると、答えは「いいえ」です。
Linuxカーネルの監督の下に変数を置くことは可能ですか?
理想的には、再起動後も持続し、実行間で変更することはできません。
/ procファイルシステムを介して変数にアクセスし、カーネルキーリングに値を格納できるカーネルモジュールを考えることができます。
データを安全に保存する方法を探している場合は、ある種のデータベースと保存されるデータの整合性を確保する方法が必要です。これには通常暗号化が含まれます。これは、鍵管理、ストレージ暗号化など、慎重に解決する必要があるいくつかの問題を引き起こします。
カーネルは永続的なデータ保存オプションをほとんど提供しません。前述のキーリングは役に立ちますが、少し異なる用途に使用されます。私はそのようなサブシステムのセキュリティを研究したことがないので、あなたのユースケースの強みについて言及することはできません。
答え3
Redisを使用してデータ構造を保存し、再起動後に検索できます。システムがダウンしてもストレージが維持されるためです。以下のリンクにアクセスしてください。