/tmp マウントオプションを tmpfs: 互換性とセキュリティ

/tmp マウントオプションを tmpfs: 互換性とセキュリティ

SSDがあります。/tmpとしてインストールすることをお勧めしますtmpfs

例:

インストールオプションは各例で異なります。なぜですか? ? ?

デフォルトのUbuntu 16インストールでは、ルート()のインストールオプションを/(から/etc/mtab)に設定します。

/dev/sda1 / ext4 rw,relatime,errors=remount-ro,data=ordered 0 0

したがって、他のすべてのオプション(例/リンクで提案されているように)を適用しないでください。
Webのさまざまな例からのいくつかのインストールオプションは次のとおりです。

defaults,noatime,mode=1777

または:

defaults,noatime,nosuid,nodev,noexec,mode=1777,size=512M

しかし:

  • noatimeとにかく、データは高速RAMに保存されるため、役に立たないと感じます。
  • なぜnosuid,nodev,noexec
    ソフトウェアが特定のオプションに依存しているかどうかはどうすればわかりますか?

インストールされているアプリの基本権限を維持するのが最善だと思います。つまり、次のようになります。

rw,relatime,mode=1777,uid=0,gid=0

各ソフトウェアの正常な動作を保証するには:

  • 権限は基本権限/tmpと同様に1777ですdrwxrwxrwt(参考資料を参照stat -c "%a %n" /tmp)。
  • そして同じものがあるからuidです。gidroot/tmp

ここで何か抜けましたか?

答え1

今後システム、標準活性化方法一時ファイルシステム存在する/tmp有効に/etc/default/tmpfsして設定することですRAMTMP=yes(ほとんどの人が/ etc / fstabを編集しているにもかかわらず)。これにより、デフォルトのオプションが何であるかを確認できます。私のDevuan Asciiでは、インストールオプションは次のとおりです。

$ mount -l | grep "/tmp"
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,relatime,size=3293980k)

サイズは基本的に物理メモリ20%+スワップスペースです。

したがって、/ etc / fstabで同じオプションを使用すると間違っている可能性があります。

答え2

/ tmpをtmpfsとしてマウントすることをお勧めします。

いいえ。

あなた可能再起動時にファイルが失われるのを心配するには、tmpfsデバイスを/ tmpにマウントします(tmpfsはメモリに実装されています)。

したがって、他のすべてのオプション(例/リンクで提案されているように)を適用しないでください。

よく?これらのオプションをしたくないですか?それとも、OSがこれを無視すると思いますか?前者の場合は、必要なオプションを選択してください。そのオプションは尊重または継承されません。

時間がなければ役に立たない感じ

はい、ここでatimeまたはrelatimeを所有するための費用は無視できます。

nosuid、nodev、noexecを使用するのはなぜですか?

これは/ tmpで悪用される可能性があるためです。ただし、固定ビットを使用すると、これらのベクトルを使用する(すべて?)攻撃を軽減することもできます。

rw、関係時間、モード=1777、uid=0、gid=0

rw - これは一時ファイルシステムには多少便利ですが、デフォルトの動作でもあるため、明示的に記述する必要はありません。

relatime - あなた次第ですが、デフォルトです。

mode = 1777、uid = 0、gid = 0 - / tmpがルート所有ではなく、マウント時にグローバルに書き込み可能で、グループ固定ビットが設定されていると、この穴を塞ぐのが遅すぎる可能性があります。

関連情報