13

Какой механизм предотвращает использование rm /dev/null ? В частности, на FreeBSD, но я также заинтересован во всех других системах на основе Unix.

2 ответа2

23

Вы можете удалить /dev/null от имени пользователя root в системах Linux и BSD. Конечно, после перезагрузки системы /dev/null будет восстановлен. Без перезагрузки также можно восстановить /dev/null с помощью команды mknod .

10

Права доступа - если вы не работаете от имени пользователя root (суперпользователь) или, возможно, не являетесь одним из нескольких других пользователей или групп (bin или sys), у вас нет разрешения на запись в каталог /dev/ , и поэтому вы не можете ничего удалить из каталог.

Если вы являетесь пользователем root , вы можете удалить его, но ваша система будет крайне несчастна. Вы можете воссоздать его, используя команду mknod (или, возможно, системный вызов mknod() ). Или вы можете создать простой файл, но он не будет обладать такими же специальными свойствами, как «real» /dev/null и в результате ваша система будет сильно повреждена.

Это не очень хорошая область для экспериментов! (И, если вам нужно поэкспериментировать, я рекомендую использовать виртуальную машину, а не вашу основную машину.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .