Повреждение системы путем полного заполнения `/` [closed]

Из соображений безопасности sshи jailkitне разрешают запись в корневом каталоге /и прерывают работу, если обнаруживают неправильные разрешения.

Например, если root доступен для записи, пользователи могут предоставить свои собственные файлы конфигурации в /etc(и свои собственные /etc/passwd) или свои собственные динамические библиотеки в / libдля злоупотребления двоичными файлами setuid (или уже запущенными привилегированными процессами с использованием того же chroot) для повышения привилегий.

0
30.08.2017, 15:30
2 ответа

Bad Things(TM) может произойти, если файловая система заполнена на 100% (или, возможно, на 105% из-за корневогозарезервированного пространства).Конкретные случаи, которые я видел (хотя они не для XFS):

  • 100% заполненный раздел NTFS (мы предупреждали пользователей, чтобы они не загружали свой ноутбук так полностью, но они делали это в течение нескольких месяцев...) заканчивались петлями файловой системы, поэтому когда вы пытались сделать резервную копию данных с этого диска 300G, вы могли заполнить диск 3T или что-то еще, потому что циклы.
  • Некоторые виртуальные машины Linux с почти 100% заполненными дисками из-за ошибки начали записывать биты конца раздела обратно в начало раздела, тем самым уничтожая различные важные биты, которые там находились.

Так что да, если есть ошибка, вы можете получить поврежденную файловую систему; в качестве меры предосторожности в тестовых системах или во время запекания можно полностью заполнить диск, чтобы посмотреть, что произойдет. Однако обычно раздел просто заполняется и запись завершается ошибкой без какого-либо повреждения ОС или файловой системы (конечно, прикладное программное обеспечение может быть очень недовольным(TM), поскольку программисты никогда не проверяли, что происходит, когда запись завершается ошибкой... например, stunnelперестала обрабатывать данные приложения, когда оно не могло записывать журналы)

(Есть законные случаи, когда файловая система может быть заполнена на 100%, например, базе данных может потребоваться все пространство или это (в основном?) раздел только для чтения с множество данных о геноме и т. д.)

В противном случае, как правило, не существует никакой защиты; обычно настраивается какой-то мониторинг, который предупреждает, когда раздел заполнен на X%, или показывает большое изменение в потребленном пространстве. Часто эти вещи можно предсказать заранее, основываясь на росте с течением времени: лучше отправить электронное письмо, скажем, в четверг («раздел X достигнет 90% через три дня…"), чем экстренная страница в 3 часа ночи в воскресенье (заполнение 90% - ошибка! ошибка! ошибка!).

1
28.01.2020, 02:33

Имеет ли значение, заполняет ли / или другой раздел?

Здесь есть вопросо CentOS 7 (RHEL 7), в котором говорится, что полный раздел /приводит к отключению системы. Я никогда не испытывал этого на себе. Тем не менее, да: это, безусловно, может иметь значение, если раздел или том заполнен: представьте, что вы не можете записывать файлы журнала, создавать временные файлы, записывать в базу данных, загружать файлы в домашний каталог или получать обновления. Это широкий вопрос, и есть много, чтобы представить! Любая проблема будет связана с назначением и конфигурацией раздела или тома.

Я также надеюсь, что существуют средства защиты.

Используйте систему аудита для оповещения назначенных сотрудников, когда объем хранилища аудита приближается к емкости. Службу аудита можно настроить так, чтобы она предпринимала действия, когда место на диске начинает заканчиваться. Отредактируйте файл /etc/audit/auditd.conf, чтобы использовать следующую директиву конфигурации.

space_left_action = email

Возможные значения для выполняемого действия описаны на справочной странице «auditd.conf». К ним относятся:

  • игнорировать
  • системный журнал
  • электронная почта
  • выполнение
  • приостановить
  • однократно
  • остановить

Электронная почта, отправляемая на корневую учетную запись, обычно адресуется администраторам системы, кто может принять соответствующие меры. (См. /etc/aliasesи man newaliases.)

1
28.01.2020, 02:33

Теги

Похожие вопросы