Из соображений безопасности ssh
и jailkitне разрешают запись в корневом каталоге /
и прерывают работу, если обнаруживают неправильные разрешения.
Например, если root доступен для записи, пользователи могут предоставить свои собственные файлы конфигурации в /etc
(и свои собственные /etc/passwd
) или свои собственные динамические библиотеки в / lib
для злоупотребления двоичными файлами setuid (или уже запущенными привилегированными процессами с использованием того же chroot) для повышения привилегий.
Bad Things(TM) может произойти, если файловая система заполнена на 100% (или, возможно, на 105% из-за корневого
зарезервированного пространства).Конкретные случаи, которые я видел (хотя они не для XFS):
Так что да, если есть ошибка, вы можете получить поврежденную файловую систему; в качестве меры предосторожности в тестовых системах или во время запекания можно полностью заполнить диск, чтобы посмотреть, что произойдет. Однако обычно раздел просто заполняется и запись завершается ошибкой без какого-либо повреждения ОС или файловой системы (конечно, прикладное программное обеспечение может быть очень недовольным(TM), поскольку программисты никогда не проверяли, что происходит, когда запись завершается ошибкой... например, stunnel
перестала обрабатывать данные приложения, когда оно не могло записывать журналы)
(Есть законные случаи, когда файловая система может быть заполнена на 100%, например, базе данных может потребоваться все пространство или это (в основном?) раздел только для чтения с множество данных о геноме и т. д.)
В противном случае, как правило, не существует никакой защиты; обычно настраивается какой-то мониторинг, который предупреждает, когда раздел заполнен на X%, или показывает большое изменение в потребленном пространстве. Часто эти вещи можно предсказать заранее, основываясь на росте с течением времени: лучше отправить электронное письмо, скажем, в четверг («раздел X достигнет 90% через три дня…"), чем экстренная страница в 3 часа ночи в воскресенье (заполнение 90% - ошибка! ошибка! ошибка!).
Имеет ли значение, заполняет ли / или другой раздел?
Здесь есть вопросо CentOS 7 (RHEL 7), в котором говорится, что полный раздел /
приводит к отключению системы. Я никогда не испытывал этого на себе. Тем не менее, да: это, безусловно, может иметь значение, если раздел или том заполнен: представьте, что вы не можете записывать файлы журнала, создавать временные файлы, записывать в базу данных, загружать файлы в домашний каталог или получать обновления. Это широкий вопрос, и есть много, чтобы представить! Любая проблема будет связана с назначением и конфигурацией раздела или тома.
Я также надеюсь, что существуют средства защиты.
Используйте систему аудита для оповещения назначенных сотрудников, когда объем хранилища аудита приближается к емкости. Службу аудита можно настроить так, чтобы она предпринимала действия, когда место на диске начинает заканчиваться. Отредактируйте файл /etc/audit/auditd.conf
, чтобы использовать следующую директиву конфигурации.
space_left_action = email
Возможные значения для выполняемого действия описаны на справочной странице «auditd.conf». К ним относятся:
Электронная почта, отправляемая на корневую учетную запись, обычно адресуется администраторам системы, кто может принять соответствующие меры. (См. /etc/aliases
и man newaliases
.)