/dev/shm は秘密の保存には適していません。

/dev/shm は秘密の保存には適していません。

このディストリビューションは、2.6.35-30 Linuxカーネルを実行するUbuntuサーバーです。

私は完全にメモリ内のディレクトリが欲しいです。 root権限なしで可能ですか?

答え1

Linuxは、すべてのユーザーが利用できるtmpfsデバイスを提供します/dev/shm。デフォルトでは、特定のディレクトリにはインストールされませんが、まだディレクトリとして使用できます。

その中にディレクトリを作成し、目的の/dev/shm場所にシンボリックリンクをリンクするだけです。他のユーザーがアクセスできないように作成したディレクトリに対して選択した権限を付与できます。

これはRAM対応デバイスなので、基本的にすべてがメモリにあります。内部に必要なディレクトリを作成できます/dev/shm

もちろん、ここに配置されたファイルは再起動後に保存されず、コンピュータがスワップを開始しても/dev/shm役に立ちません。

Solarisと同様に、メモリベースの「スワップ」タイプのパーティションも/dev/shmあります。/tmp同様に、/dev/shmすべてのユーザーが/tmpSolarisでファイルを作成できます。

OpenBSDはメモリベースのマウントも使用できますが、デフォルトで使用できるものはありません。 mount_mfsコマンドはスーパーユーザーが使用できます。

他の*BSDについてはよくわかりません。

答え2

/dev/shm は秘密の保存には適していません。

...活動のあるシステムで交換!チャンスは非常に高いお使いのコンピュータでこの機能が有効になっています。

もっと良いものがありますが、短期間保証、標準的な選択肢 -ramfs次のramfsタスクにRAMサポートスペースを使用する予定の場合は、次のものを使用できます。一時的な秘密鍵、ビットコイン、またはイーサリアムウォレットなどの機密データを保存します。

ramfstmpfsramfsデータを秘密に保つ必要がある場合よりも優れています。いいえスワップ(物理ストレージドライブに保存)中tmpfs 可能交換されます。その後、システムへのルートまたは物理アクセス権を取得する第三者スワップスペースを確認できます。そして機密データの抽出

解決策

ramfs権限のないユーザーが要求に応じてマウント/マウント解除できるようにマウントを準備できます。

これにはあなたが必要です特権、一度。 root権限がない場合は、システム管理者に設定を依頼してください。

まず、追加する必要があります/etc/fstab。この行はfstab次のとおりです。

none    /mnt/ramfs    ramfs    noauto,user,size=1024M,mode=1777    0    0
  • /mnt/ramfsramfs ファイルシステムがマウントされるマウントポイントです。目次存在しなければならない
  • noautoサイレントインストールを防ぐためのオプション(システムの起動時など)
  • user一般ユーザーがインストールできるようにします。
  • sizeこの「ramdisk」のサイズを設定します(ここでMおよびを使用できますG)。しかし、必要に応じてラムディスクが大きくなるため、何の効果もありません。
  • modeはい非常に重要、8進コードを使用すると、1777すべてのユーザーがファイルとディレクトリを作成できますが、そのファイルとディレクトリの所有者だけがアクセスできます(他のコードを使用することもできますが、必ず確認してください)。

これが完了すると、すべてのユーザーが必要に応じてインストールできます。

ユーザーがそれをインストールすると、ramfs新しいファイルシステムが作成されてマウントされます/mnt/ramfs/。の所有になりますroot:user。マウントを解除するかシステムを再起動すると、このRAMベースのファイルシステムは消えるそしてみんなそのデータ。素敵ですね。

さらに、ファイルシステムは複数のユーザーが独立してマウントできますが、同時にではありませんつまり、次のユーザーがインストールできるようにするには、古いユーザーがファイルシステムをアンマウントする必要があります。または、各ユーザーに対して別々のファイルシステムを作成できます。

取付ける:

mount /mnt/ramfs/

削除:

umount /mnt/ramfs/

rsyncPSルート以外のユーザーとして新しくインストール/作成されたramfsのルートにファイルを書き込もうとすると、エラーが発生する可能性がありますrsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1183) [sender=3.1.1]。ユーザーがRAMファイルシステムのルートを所有していないため、これは完璧で予想されます。解決策は簡単です。/mnt/ramfs/copied/たとえば、そこにいくつかのディレクトリを作成してrsyncそこに入れます。

PPSはDebian 9でテストされました。 Ubuntuでも動作すると確信しています。

PPPSははるかに安全ですが、RAMベースのストレージです。それでも脆弱ですいくつかの洗練された攻撃。コールドスタート攻撃。したがって、データのセキュリティが本当に重要である場合は、次の点を確認してください。物理ケースとメモリースティックをロックしてPC /ノートブックを保護する方法、またはより良い方法は、RAMがマザーボードに直接はんだ付けされたコンピュータを購入することを検討することです(ほとんどの高度なウルトラポータブルノートブックの場合と同様)。今後1時間ほどコンピュータを使用する予定がない場合は、コンピュータを完全にシャットダウンすることも検討できます。省電力/休止状態機能を完全に無効にすることもできます。

答え3

あなたのシステムにはすでに利用可能なものがあるかもしれません。最新のLinuxシステムは常にGlibcに基づいています。インストールされたtmpfs/dev/shm

システムにシステムが存在しないか小さすぎる場合、ルートとしてマウントされていないファイルシステムはほとんど意味があります。ヒューズ。 Ubuntuでは、fuseFUSEを使用するにはグループに参加する必要があります。裏返す利用可能なFUSEファイルシステム、私だけを見るラムフォス、残念ながら上流に捨てられました。

答え4

通常、ファイルシステムはルートとしてのみマウントできます。ユーザーがファイルシステムに必要なものを何でも配置できるようにすることは、基本的にユーザーにroot権限を付与することです。 (簡単な方法:/ etcにマウントし、そこに自分のパスワードとシャドウを入力し、作成したばかりの新しいルートパスワードでsuして削除します。)

特定の場所にtmpfsを使用したい場合は、/etc/fstabフラグを使用してに追加すると、noauto,userユーザーはそれをマウントできます(ただし、自動的にマウントしない理由は特に明確ではありません)。

ユーザーにランダムなtmpfsが必要な場合は、いくつかのオプションがあります。

  • tmpfsのサブディレクトリを使用します。おそらく最良の方法でしょう。おそらく複数のtmpfは必要ありません。
  • ディレクトリを作成し、そのディレクトリにtmpfsをマウントするスクリプトを作成し、ディレクトリがある場所を印刷します。sudoユーザーが実行できるようにするために使用されます。ぜひこうやってくださいいいえユーザーが任意のパスを選択できるようにします。

関連情報