{ "author_name": "Никита Лихачёв", "author_type": "self", "tags": [], "comments": 58, "likes": 53, "favorites": 6, "is_advertisement": false, "section_name": "default", "id": "26508", "is_wide": "1" }
Никита Лихачёв
18 574

Владелец хостинга удалил данные 1535 своих клиентов одной строчкой кода

Обновлено: 15 апреля Марсала рассказал в интервью итальянскому изданию Repubblica, что его история была выдумкой.

Руководитель небольшой хостинговой компании по имени Марко Марсала (Marco Marsala) рассказал, как уничтожил данные всех своих клиентов, по ошибке запустив на всех серверах скрипт «rm -rf /». На историю обратило внимание издание The Independent.

Поделиться

В избранное

В избранном

10 апреля Марсала спросил совета на форуме Server Vault, что делать в его ситуации. По его словам, он возглавляет хостинг-провайдер, в котором обслуживается 1535 клиентов. Для автоматизации управления конфигурациями серверов Марсала использовал систему Ansible, и 9 апреля случайно запустил через неё Bash-скрипт «rm -rf {foo}/{bar}» на всех серверах, не задав переменные foo и bar.

Марсала заявил, что в результате всего данные с его серверов оказались удалены, а вместе с ними уничтожились и бэкапы, потому что этот же скрипт использовался для их техобслуживания. Сисадмин поинтересовался, сможет ли он оперативно восстановить данные.

Автору обсуждения указали на аналогичный вопрос, заданный двумя годами ранее: тогда неудачливый сисадмин случайно дописал слэш в конец аналогичной команды. В том случае советчики сошлись во мнении, что лучший вариант — попытаться скачать оставшиеся файлы и перезалить их на новый сервер, а в будущем попытаться не допускать подобных ситуаций.

Некоторые участники обсуждения Марсала констатировали фактическую смерть его компании. Восстановить все данные вряд ли возможно и скорее всего будет стоить приличной суммы денег, а провести эту операцию без падения сайтов и сервисов его клиентов на длительное время не удастся.

При этом некоторые комментаторы засомневались в том, могла ли команда «rm -rf /» запуститься без оператора --no-preserve-root. На форуме Slashdot также обратили внимание, что «rm -rf» не уничтожает блоки данных на жёстких дисках, а помечает их как пустые, и теоретически информацию можно было бы спасти, если поверх неё не перезаписали ничего нового.

Где работает Марко Марсала и действительно ли он является владельцем хостинг-провайдера, неизвестно. TJ не удалось найти пользователей с таким именем и описанием на Фейсбуке и в LinkedIn.

Команда «rm -rf /» в Bash означает рекурсивное удаление папок и файлов, игнорируя различные предупреждения, которые выдаёт командная строка. В обычном случае команда касается только доступных пользователю файлов, однако если её запускает суперпользователь с root-доступом (как, вероятно, было в случае Марсалы), стираются вообще все доступные файлы в системе. Среди программистов и системных администраторов эта команда считается синонимом максимального разрушения, которое можно устроить в ОС.

Ниже можно наблюдать, как подобная команда, запущенная в Bash-терминале на виртуальной Linux-машине, ломает всю операционную систему: часть файлов она удалить не смогла, но большинство функций — включая и саму команду rm — отказали в работе.

Популярные материалы
Показать еще
{ "is_needs_advanced_access": true }

Популярные комментарии

Дискуссии по теме
доступны только владельцам клубного аккаунта

Купить за 75₽
Авторизоваться

Преимущества
клубного аккаунта

  • отсутствие рекламы
  • возможность писать комментарии и статьи
  • общение с членами клуба
Подробнее

Преимущества
клубного аккаунта

  • отсутствие рекламы
  • возможность читать и писать комментарии
  • общение с членами клуба
  • возможность создавать записи

Сколько это стоит?

Членство в клубе стоит всего 75₽ в месяц. Или даже дешевле при оплате за год.

Что такое клуб?

Клуб ТЖ это сообщество единомышленников. Мы любим читать новости, любим писать статьи, любим общаться друг с другом.

Вступить в клуб

Комментарии Комм.

Популярные

По порядку

0

Прямой эфир

Вы не против подписаться на важные новости от TJ?

Нет, не против
[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "i", "ps": "cndo", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "i", "ps": "cndo", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "ezfk" } } }, { "id": 6, "disable": true, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byswn", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "create", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "cndo", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223677-0", "render_to": "inpage_VI-223677-0-101273134", "adfox_url": "//ads.adfox.ru/228129/getCode?p1=byaeu&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid11=&puid12=&puid13=&puid14=&puid21=&puid22=&puid31=&fmt=1&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudv", "p2": "ftjf" } } } ]