Qu'est-ce qui empêche rm / dev / null?

13

Quel est le mécanisme par lequel rm /dev/nullest empêché? Spécifiquement sur FreeBSD, mais je suis tout aussi intéressé par tous les autres systèmes basés sur Unix.

Nektarios
la source
Logique commune, vous ne pouvez rien supprimer;)
Ben
7
As-tu essayé ?
Diego Torres Milano

Réponses:

23

Vous pouvez réellement supprimer en /dev/nulltant qu'utilisateur root sur les systèmes Linux et BSD. Bien sûr, une fois le système redémarré /dev/nullsera restauré. Sans redémarrage, il est également possible de restaurer /dev/nullà l'aide de la mknodcommande.

anubhava
la source
11

Autorisations - sauf si vous exécutez en tant que root(super-utilisateur) ou éventuellement l'un des quelques autres utilisateurs ou groupes ( binou sys) sélectionnés, vous n'avez pas d'autorisation d'écriture dans le /dev/répertoire et ne pouvez donc rien supprimer du répertoire.

Si vous l'êtes root, vous pouvez le supprimer - mais votre système serait extrêmement mécontent. Vous pouvez le recréer en utilisant la mknodcommande (ou peut-être l' mknod()appel système). Ou vous pourriez créer un fichier simple, mais qui n'aurait pas les mêmes propriétés spéciales que le «réel» /dev/nullet laisserait votre système gravement paralysé.

Ce n'est pas un bon domaine d'expérimentation! (Et, si vous devez expérimenter, je recommande d'utiliser une machine virtuelle plutôt que votre machine principale.)

Jonathan Leffler
la source