ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Студент думал, что освоил Unix за несколько недель. Потом он обнаружил rm -rf

Студент думал, что освоил Unix за несколько недель. Потом он обнаружил rm -rf

Сегодня мы познакомимся с читателем, которого назовём «Майлз». Он рассказал, что начал заниматься компьютерами на Commodore C64 и различных версиях DOS. Поэтому, когда он поступил в университет, он не обратил внимания на Mac и клоны ПК в лабораториях компьютерного факультета и сосредоточился на NeXT Cubes.

Для тех из вас, кто игнорировал или забыл о «Джобсовских сагах», NeXT — это компания, основанная Стивом Джобсом в период между его увольнением из Apple и последующим триумфальным возвращением.

Одним из творений Джобса был «Куб» — компьютер класса рабочей станции, который, согласно легенде, Тим Бернерс-Ли использовал для создания Всемирной паутины.

Майлзу понравился Cube.

«Работая на умопомрачительной частоте 25 МГц, эти устройства были быстрыми и обладали потрясающим графическим интерфейсом, — вспоминал он. — Но для любителей командной строки они были мечтой, потому что в них можно было подключиться по протоколу Telnet из кампуса и работать в чудесной вселенной командной строки BSD Unix».

Майлзу нужно было освоиться в этой среде, но он быстро влюбился в оболочку tcsh и вскоре понял, как получить доступ к Кубикам из своей комнаты в общежитии.

«Я мог спокойно писать статьи, используя LaTeX в Emacs», — сказал он в интервью Who, Me? Он также мог пользоваться принтерами в компьютерном классе, так что его работы в университете выглядели отлично.

Лучше всего было то, что Майлз мог войти в систему на любом из 16 компьютеров NeXT в лаборатории, потому что домашние каталоги были доступны с любого из них.

Была только одна проблема. Emacs сохранял резервные копии файлов в странных местах, заполняя каталоги документами, которые, по мнению Майлза, ему больше никогда не понадобятся.

В то время, о котором идёт речь, Майлз был молодым человеком и, как и многие в его возрасте, не слишком заботился о порядке. Но он решил, что научиться наводить порядок в Unix — это хорошая идея.

«Мне было любопытно попробовать кое-что новое, о чём я узнал: tcsh скрипт .logout. Если поместить его в домашний каталог, он будет автоматически запускаться при выходе из системы». Майлз придумал использовать этот скрипт для автоматического удаления всех резервных копий Emacs.

“Кому вообще нужны резервные копии?” – рассуждал он.

Версия файла .logout, созданная Майлзом, включала печально известную опасную команду rm -rf ~*, которая стирает всё, что находит в домашнем каталоге пользователя.

«Я быстро освоил эту штуку с Unix», — сказал Майлз в интервью Who, Me? Поэтому он был уверен, что его скрипт справится с задачей.

Эта уверенность быстро пошатнулась, когда он впервые вышел из системы с помощью скрипта, потому что это заняло «больше времени, чем я ожидал. Гораздо больше».

Вскоре Майлз понял, что его файл .logout удаляет домашний каталог каждого пользователя и всё, что в нём содержится, — не только временные файлы, которые он надеялся удалить.

«Как оказалось, системный администратор кампуса не заметил этой потенциальной угрозы и понял, что у меня больше прав, чем должно быть», — написал Майлз.

К счастью, тот же самый системный администратор действительно верил в резервные копии.

«После восстановления файлов он изменил права доступа. Все мы извлекли уроки, я сохранил доступ к своей учётной записи после заслуженной выволочки и даже стал системным администратором на стажировке… на AS/400».

Exit mobile version