デバイスファイルを調べていますが、一部のマウントポイントでデバイスファイルの作成が許可されていません(nodev
オプションが設定されている場合)。私のmount
結果を考えると、次のようになります。
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
.....
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
その中にデバイスファイルを作成しようとしましたが/sys/kernel/debug
(単にそのオプションがなかったのでディレクトリを選択しましたnodev
)、操作は許可されていません。その理由を理解していません。なぜ手術ができないのですか?
答え1
/sys/kernel/debug
汎用ファイルシステムではないため、書き込めません。debugfs
、カーネルがデバッグ情報をユーザー空間にエクスポートできるようにするために存在します。
マウントオプションの違いは、マウントされたファイルシステムによって引き起こされます。あなたの場合はsystemdによってインストールされたと思います。 「コア」ファイルシステム(/sys
など/proc
)が最初/dev
にインストールされます。src/core/mount-setup.c
(mount_table
詳細を参照)nodev
などは以下を介してインストール/sys/kernel/debug
されます。独立したユニット、sys-kernel-debug.mount
、インストールオプションを指定しません。インストールオプションが異なるという特別な理由があるかどうかはわかりません。
nodev
なぜ重要なのかは、以下を参照してください。/etc/fstab の「nodev」がなぜそんなに重要なのか?ハッキングのためにキャラクターデバイスを利用する方法は?