rm /dev/null
が防止されるメカニズムは何ですか?特にFreeBSDについてですが、私は他のすべてのUnixベースのシステムにも同じように興味があります。
LinuxおよびBSDシステムでは、rootユーザーとして/dev/null
を実際に削除できます。もちろん、システムを再起動すると、/dev/null
が復元されます。再起動せずに、mknod
コマンドを使用して/dev/null
を復元することもできます。
権限-root
(スーパーユーザー)または選択した他のいくつかのユーザーまたはグループ(bin
またはsys
)のいずれかとして実行している場合を除き、書き込みはありません_/dev/
_ディレクトリでのアクセス許可。したがって、ディレクトリから何も削除できません。
あなたがroot
の場合、それを削除することはできますが、システムは非常に不幸になります。 mknod
コマンド(またはおそらくmknod()
システムコール)を使用して、それを再作成できます。または、プレーンファイルを作成することもできますが、それは「実際の」_/dev/null
_と同じ特別なプロパティを持たず、システムがひどく機能しなくなります。
実験には向いていません! (また、実験する必要がある場合は、メインマシンではなくVM)を使用することをお勧めします。)