web-dev-qa-db-ja.com

rm / dev / nullを妨げるものは何ですか?

rm /dev/nullが防止されるメカニズムは何ですか?特にFreeBSDについてですが、私は他のすべてのUnixベースのシステムにも同じように興味があります。

13
Nektarios

LinuxおよびBSDシステムでは、rootユーザーとして/dev/nullを実際に削除できます。もちろん、システムを再起動すると、/dev/nullが復元されます。再起動せずに、mknodコマンドを使用して/dev/nullを復元することもできます。

23
anubhava

権限-root(スーパーユーザー)または選択した他のいくつかのユーザーまたはグループ(binまたはsys)のいずれかとして実行している場合を除き、書き込みはありません_/dev/_ディレクトリでのアクセス許可。したがって、ディレクトリから何も削除できません。

あなたがrootの場合、それを削除することはできますが、システムは非常に不幸になります。 mknodコマンド(またはおそらくmknod()システムコール)を使用して、それを再作成できます。または、プレーンファイルを作成することもできますが、それは「実際の」_/dev/null_と同じ特別なプロパティを持たず、システムがひどく機能しなくなります。

実験には向いていません! (また、実験する必要がある場合は、メインマシンではなくVM)を使用することをお勧めします。)

11