回答:
Linuxは、すべてのユーザーが使用できるtmpfsデバイスを提供します/dev/shm。デフォルトでは特定のディレクトリにマウントされていませんが、1つのディレクトリとして使用できます。
単純にディレクトリを作成し、/dev/shm必要な場所にシンボリックリンクします。作成したディレクトリに任意のアクセス権を付与して、他のユーザーがアクセスできないようにすることができます。
これはRAMでバックアップされたデバイスなので、デフォルトではメモリに何があります。内部に必要なディレクトリを作成できます/dev/shm
当然、ここに配置されたファイルは再起動後も存続し/dev/shmません。また、マシンがスワップを開始しても、助けにはなりません。
Solaris平行/dev/shmIS /tmp「スワップ」タイプのパーティション、及び、メモリベースです。と同様に/dev/shm、任意のユーザーが/tmpSolarisでファイルを作成できます。
OpenBSDにはメモリベースのマウントも使用できますが、デフォルトでは使用できません。mount_mfsコマンドは、スーパーユーザーが利用できます。
他の* BSDについてはわかりません。
/dev/tmpfsシステム上にはないようです(3.0.0カーネルを持っている自分のシステムもありません)。それはディストリビューションによって作成されたものではないのですか?
/runあり/run/shmます。
...アクティブなスワップがあるシステムで!コンピュータで有効になっている可能性が非常に高い。
より良い、安全な、標準の代替手段があります— ramfs。秘密鍵、ビットコイン、イーサリアムなどの機密データramfsを一時的に保存するためにRAMでバックアップされたスペースを使用する予定がある場合に使用できます。
ramfs優れてtmpfsいるため、セキュリティが懸念されている場合ramfs、データが決してスワップされません取得しますしばらくは、(物理ストレージドライブに保存された)tmpfs も入れ替えます。サードパーティは、スワップスペースを検査し、機密データを抽出できます。
ramfsマウントを準備して、非特権ユーザーがオンデマンドでマウント/アンマウントできるようにすることができます。
これを行うには、一度ルート権限が必要になります。ルート権限がない場合は、システムの管理者にこれを設定するよう依頼してください。
最初に、に行を追加する必要があります/etc/fstab。fstabの行は次のようになります。
none /mnt/ramfs ramfs noauto,user,size=1024M,mode=0770 0 0
/mnt/ramfsramfsファイルシステムがマウントされるマウントポイントです。ディレクトリが存在する必要があります。noauto オプションは、これが自動的にマウントされるのを防ぎます(例えば、システムの起動時)。user 通常のユーザーがこれをマウントできるようにします。sizeこの「RAMディスクの」サイズを設定します(あなたが使用することができますMし、Gここに)。modeこれは非常に重要です。0770このファイルシステムをマウントした8進コードはルートとユーザーのみであり、他のファイルシステムではなく読み書きできます(選択した別のコードを使用することもできますが、十分に確認してください! )。これが完了すると、すべてのユーザーがオンデマンドでこれをマウントできるようになります。
一部のユーザーがこれをマウントすると、新しい1024 MB ramfsファイルシステムが作成され、にマウントされ/mnt/ramfs/ます。が所有しroot:userます。彼/彼女がそれをアンマウントするか、システムがリブートされると、このRAMベースのファイルシステムはすべてのデータとともに消えます。どれがかっこいいですか。
また、このファイルシステムは複数のユーザーが個別にマウントできますが、同時にはできません。つまり、次のユーザーがマウントできるように、前のユーザーはこのファイルシステムをアンマウントする必要があります。
マウントする:
mount /mnt/ramfs/
アンマウントする:
umount /mnt/ramfs/
PS rsync非rootユーザーとして、新しくマウント/作成された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でも機能することは間違いありません。
システムにはすでに使用可能なものがあります。Glibcに基づく最近のLinuxシステムでは、/dev/shm常にtmpfsがマウントされています。
システムに1つもない場合、または小さすぎる場合、ルートによってマウントされていないファイルシステムは、ほとんどFUSEを意味します。Ubuntuでは、fuseFUSEを使用するにはグループに属している必要があります。見て可能なFUSEファイルシステム、私は見Ramfuse残念ながら上流に放棄され、。
通常、いいえ、ファイルシステムはルートによってのみマウントできます。ユーザーがファイルシステムを任意に配置できるようにする場合、それは基本的にそれらにルートを与えます。(簡単な方法:/ etcにマウントし、そこに独自のパスワードとシャドウを置き、作成したばかりの新しいrootパスワードでsu、アンマウントします)
特定の場所にtmpfsが必要な場合/etc/fstabは、にフラグを付けてを追加すれば、noauto,userユーザーはそれをマウントできます(ただし、自動マウントしない理由は特に明確ではありません)
ユーザーが任意のtmpfsを必要とする場合、いくつかのオプションがあります。
sudo、ユーザーがそれを実行できるようにします。ユーザーが任意のパスを選択できないようにしてください。