Apa yang mencegah rm / dev / null?

13

Apa mekanisme yang rm /dev/nulldapat dicegah? Khususnya pada FreeBSD, tapi saya hanya tertarik pada semua sistem berbasis Unix lainnya.

Nektarios
sumber
Logika umum, Anda tidak dapat menghapus apa pun;)
Ben
7
Sudahkah Anda mencoba?
Diego Torres Milano

Jawaban:

23

Anda sebenarnya dapat menghapus /dev/nullsebagai pengguna root pada sistem Linux dan BSD. Tentu saja, setelah sistem di-reboot /dev/nullakan dikembalikan. Tanpa me-reboot juga dimungkinkan untuk mengembalikan /dev/nullmenggunakan mknodperintah.

anubhava
sumber
11

Izin - kecuali Anda menjalankan sebagai root(pengguna super) atau mungkin salah satu dari beberapa pengguna atau grup tertentu ( binatau sys), Anda tidak memiliki izin menulis di /dev/direktori, dan karena itu tidak dapat menghapus apa pun dari direktori.

Jika ya root, maka Anda dapat menghapusnya - tetapi sistem Anda akan sangat tidak bahagia. Anda bisa membuatnya kembali, menggunakan mknodperintah (atau mungkin mknod()panggilan sistem). Atau Anda dapat membuat file biasa, tetapi itu tidak akan memiliki properti khusus yang sama dengan 'nyata' /dev/nulldan akan membuat sistem Anda lumpuh parah.

Ini bukan area yang baik untuk eksperimen! (Dan, jika Anda harus bereksperimen, saya sarankan menggunakan VM daripada mesin utama Anda.)

Jonathan Leffler
sumber