nodevオプションを使用した/(ファイルシステムのルートディレクトリ)マウント効果

nodevオプションを使用した/(ファイルシステムのルートディレクトリ)マウント効果

でマウントオプションを設定すると、どのような効果があるかを知りたいですnodev//etc/fstab

私が理解しているように、これは特別なnodevノードの解釈を防ぎ、悪意のあるユーザーや攻撃者が自分のデバイスノードをインストールして使用してシステムに大きなダメージを与えるのを防ぎます。

私の最初の考えは、使用するデバイス(オン/オフマウントされたパーティションを含む)がないため、マウントが完全に役に立たなくなり、システムが正しく起動できなくなるという/考えでした。nodev/dev/home/usr

Ubuntuのインストールとすべての項目でテストしたときに驚いたことを想像してください。登場正常な仕事。/dev/zeroそして/dev/null彼らがしなければならないことをしました。ソケットなど何でもできる他のデバイスノードはありませんが、どうすればいいかわかりません。


  1. 何が起こっているのか、インストールが機能し続ける理由を説明できる人はいますか?

  2. システムがインストールなどの/愚かなことを暗黙的に無視しますかnodev?ディストリビューションやカーネル全体で処理が一貫していますか?

  3. 元の質問に戻って:実際に観察/触発できなかった(望ましくない)効果はありますか?

答え1

コマンド(またはcat /etc/mtab)を実行すると、mount/ devが/とは別の独自のファイルシステムであることがわかります。

...
/ devからudev型devtmpfs(rw、mode = 0755)
...

私のドライブのルートファイルシステムにはデバイスファイルがないようです。以下を使って探しています。

sudo find / -xdev -type b -o -type c

したがって、nodevを使用してこのファイルシステムをマウントしても顕著な影響はありません。

答え2

initがルートファイルシステムをマウントした後に/ dev /ファイルシステムをマウントする前に、/ファイルシステムに次のファイルを含む隠し/ dev /ディレクトリがあります。

    crw-rw-rw- 1 root root 5, 1 Nov  9 20:27 console
    lrwxrwxrwx 1 root root   13 Nov  9 20:27 fd -> /proc/self/fd
    crw-rw-rw- 1 root root 1, 7 Nov  9 20:27 full
    crw-rw-rw- 1 root root 1, 3 Nov  9 20:27 null
    crw-rw-rw- 1 root root 5, 2 Nov  9 20:27 ptmx
    drwxr-xr-x 2 root root 4096 Nov  9 20:27 pts
    crw-rw-rw- 1 root root 1, 8 Nov  9 20:27 random
    drwxr-xr-x 2 root root 4096 Nov  9 20:27 shm
    lrwxrwxrwx 1 root root   15 Nov  9 20:27 stderr -> /proc/self/fd/2
    lrwxrwxrwx 1 root root   15 Nov  9 20:27 stdin -> /proc/self/fd/0
    lrwxrwxrwx 1 root root   15 Nov  9 20:27 stdout -> /proc/self/fd/1
    crw-rw-rw- 1 root root 5, 0 Nov  9 20:27 tty
    crw-rw-rw- 1 root root 1, 9 Nov  9 20:27 urandom
    crw-rw-rw- 1 root root 1, 5 Nov  9 20:27 zero

この時間内にこれらのデバイスに書き込もうとすると失敗します。何が実際に変化をもたらすか分からないので、これは非常に良い質問です。後で悪いことが起こると、コンソールが混乱する可能性があります。スパムメールを受け取ることもできます。いくつかはエントロピーがないかもしれません。

答え3

さて、私の考えでは、これらのものがどのように連携するのかについてあなたが間違っていると思います。 nodev属性は、管理パーティションで新しく作成されたデバイスをデバイスの脅威として扱わないメッセージを送信するためであるため、インストールは機能し続けます。

/ devディレクトリは、以下に基づいてデバイスを検索します。ウデブ悪魔。 dev でデバイスを表す方法のルールは、/lib/udev/rules.d にあります。各ファイルには.rulesというサフィックスがあるためです。

関連情報