Jeśli jesteś rootem i wydajesz
rm -rf /
Jak daleko może się posunąć polecenie? Czy możesz odzyskać dane z tego rodzaju akcji? Czy nawet po zniknięciu plików binarnych uruchomione procesy nadal będą aktywne? Co trzeba zrobić, aby ponownie uruchomić ten sam komputer fizyczny? Jakie pliki musisz przywrócić, aby tak się stało?
Mógłbym spróbować tego na maszynie wirtualnej i zobaczyć, ale chcę poznać uzasadnienie tego, czego mogę się spodziewać, jeśli to zrobię.
Odpowiedzi:
To polecenie nic nie robi, przynajmniej w używanym przeze mnie systemie operacyjnym (Solaris), w którym ta funkcja zabezpieczeń została po raz pierwszy zaimplementowana:
W innych systemach * nix, zwłaszcza w Linuksie, jeśli podano wystarczającą ilość najnowszego Gnu rm, należy dodać
--no-preserve-root
opcję, aby umożliwić wykonanie polecenia (lub przynajmniej uruchomienie).Jak daleko posunąłoby się to polecenie, jest niezdefiniowany. To zależy od wielu mniej lub bardziej nieprzewidywalnych wydarzeń. Ogólnie procesy mogą działać nawet po usunięciu ich plików binarnych.
źródło
rm -rf /*
do usunięcia WSZYSTKIEGONawet przy doskonałej odpowiedzi jlliagre, pamiętaj, że nadal jest to dość niebezpieczne. Zawsze sprawdzaj dokładnie, gdzie jesteś, zanim zrobisz coś takiego
rm -rf
. Byłoby to katastrofalne, gdybyś zrobiłrm -rf *
to na przykład w katalogu / usr.Co do reszty pytań, to, co możesz odzyskać, zależy od procedur tworzenia kopii zapasowych. W większości systemów * nix nie ma prostego sposobu na odzyskanie plików i katalogów po ich usunięciu. W przeciwieństwie do dawnych czasów DOS, w których pliki często znajdowały się na dysku po wykonaniu operacji usuwania, większość systemów w dzisiejszych czasach robi rzeczy, które bardzo utrudniają odzyskiwanie. Jest to jeden z powodów, dla których usługi odzyskiwania danych są tak drogie.
Jeśli używasz maszyny wirtualnej, zalecam od czasu do czasu tworzenie migawek. Ale nic nie przebije dobrego planu tworzenia kopii zapasowych.
źródło
Jak niektórzy mówili, nadal możesz użyć
sudo rm -rf /*
do usunięcia czegokolwiek. Bez gwiazdki działa również w systemie OS X. Ktoś nakręcił materiał filmowy na temat niszczenia OS X Yosemite w ten sposób i jestem pewien, że system operacyjny oparty na Linuksie doświadczy tak samo.Rzeczy powoli zaczynają przestać reagować. Nie sądzę, aby wszystko zostało usunięte, ponieważ terminal zamarł w trakcie procesu, ale wystarczyło, aby zamrozić całość i ponownie uruchomić siłę.
Próba ponownego uruchomienia powoduje tryb jednego użytkownika, taki jak ekran startowy z błędami.
źródło
sudo rm -rf /*
nie usunę ukrytych plików i katalogów w/
. Nie byłoby również w stanie usunąć plików zamaskowanych przez inny punkt montowania, pliki w systemach plików tylko do odczytu lub pseudo-systemach plików, pliki niezmienne lub punkty montowania.Właśnie próbowałem z Ubuntu 16 i stacją roboczą vmware, a dzięki opcji no-preserve-root wyczyściłem cały dysk mojego działającego systemu Linux. po zakończeniu cała aplikacja stacji roboczej vmware stała się niestabilna, a nawet wyłączenie lub zresetowanie maszyny wirtualnej z aplikacji było niemożliwe. Odmówiono zabicia vmx, po czym działało ponowne uruchomienie hosta!
źródło
Nie można po prostu zniszczyć jego systemu, wydając go
rm -rf /
jako root. Początkowo polecenie zostanie wydane w trybie awaryjnym, co ograniczy użycie opcjirm
on,/
ale nawet--no-preserve-root
jako argument, działający system nie pozwoli na usunięcie uruchomionych procesów z dysku; jednak pozostałe programy i pliki zostaną usunięte, pozostawiając bezużyteczny system (prawie) bez programów do uruchomienia! Proszę sprawdzić zrzuty ekranowe tutaj, polecenie zostało wydane w Arch Linux w Virtual Box: http://bit.ly/q9CsA4źródło
root
.