rm -rf
to jedno polecenie Bash podobne do DROPpolecenie SQL. Jeśli nie masz repliki (kopii zapasowej) tabeli bazy danych, utracisz wszystkie dane.
rm -rf to polecenie, które wywołane bez uprawnień administratora usunie wszystkie foldery, do których użytkownik ma dostęp. Wywołanie z uprawnieniami roota spowoduje wymazanie dysku twardego.
Nigdy wcześniej nie miałem pecha i nie uruchamiałem tego kodu na serwerze produkcyjnym, ale nie wszyscy mieli tyle szczęścia. Oto kilka interesujących rm -rf historii, z którymi możesz się powiązać.
1. Thomas i program Trash oparty na CLI
Thomas pracował w laboratorium College Unix nad projektem śródsemestralnym, w ramach którego był połączony z serwerem w sąsiednim laboratorium za pomocąPuTTY + RealVNC.
Jego projekt był prosty: stworzyć program CLI „trash”, który pobiera listę ścieżek plików i przenosi je do~/.trash
katalog. Następnie możesz „opróżnić kosz”, co spowoduje wykonanie polecenia rm w katalogu. Wykonał pierwszą część i wypełniał puste polecenie.
W jakiś sposób ustawił niewłaściwą zmienną, która opuściła ścieżkę usuwania jako /
i miał dostęp do sudo. Nic się nie stało, gdy najpierw uruchomił kod, ale wkrótce potem zaczął się usterka i zaczął wyświetlać statycznie. Ctrl + C nie pomogło. Następnie monitor zgasł i rozłączył się.
Jego kod uruchomił sudo rm-rf /
i wyczyścił wszystkie dane na serwerze. Na szczęście Thomas pracował na serwerze testowym działu i był w stanie odzyskać dane z dysków zapasowych. Nie stracił przyjęcia.
2. Czyste czyszczenie podczas sesji tworzenia kopii zapasowej
Alex był administratorem sieci w firmie, która tworzyła kopie zapasowe swoich komputerów za pomocą skryptów. W jeden pamiętny piątek zaktualizował skrypt o tekst rm -rf ${DIRECTERY}/
zamiast
rm -rf ${DIRECTORY}/ – aktualizacja polecenia do
rm-rf , ponieważ ${DIRECTERY} stał się pustym łańcuchem.
Sesja tworzenia kopii zapasowej rozpoczęła się później tej nocy i zanim Alex się zorientował, wszystkie komputery w sieci zostały wyczyszczone! Na szczęście dla niego firma co godzinę tworzy kopie zapasowe plików, więc nie wyrządzono większych szkód.Mimo to był to pracowity weekend. Dość ironiczne, że zadanie tworzenia kopii zapasowej wyczyściłoby systemy, prawda?
3. Automatyczne rekurencyjne narzędzie czyszczące
Pewnego razu Eric pracował na serwerze plików i mniej więcej co tydzień chciał automatycznie czyścić niektóre pliki. Zaplanował swoją linię i przetestował ją w celu usunięcia tylko stosunkowo starszych plików. Jego praca mieściła się w jednym katalogu, więc nie sądził, że coś może pójść nie tak. Cóż, później okazało się, że się mylił.
Wykonał następujące polecenie i zadziałało. Następnie ręcznie dodał linię w pliku crontab i wtedy przez pomyłkę zastąpił .
przez / .
odnaleźć . -typ f -nazwa-ctime -60 -exec rm -rf {} \;
Przewiń do przodu tydzień później i znaczna liczba plików zniknęła. Co gorsza, zostały usunięte w sposób, który wydawał się przypadkowy, więc myślał, że firma została zhakowana, dopóki nie sprawdził kodu i nie zdał sobie sprawy, że to on jest hakerem.
Na szczęście codziennie tworzył zewnętrzne kopie zapasowe, więc mógł naprawić swój błąd. Od tego dnia możesz się założyć, że jest bardzo ostrożny z poleceniami, które wydaje z uprawnieniami administratora.
2 główne punkty, o których warto pamiętać w powyższych historiach to 1, zawsze dokładnie sprawdzaj swój kod i jego możliwy wynikowy efekt oraz 2, zawsze dbaj o jak najaktualniejsze kopie zapasowe, ponieważ nigdy nie wiadomo, kiedy przydadzą się.
Czy znasz jakieś szalone rm -rf historie z własnego doświadczenia lub z innych źródeł? Podziel się nimi z nami w sekcji komentarzy.