Przez większość czasu nikt z nas nie wykonuje czynności, która dosłownie złamie nasze systemy operacyjne i zmusi nas do ich ponownej instalacji. Ale co by było, gdyby takie działanie mogło z łatwością wystąpić przypadkowo ze strony użytkownika? Dzisiejszy post z pytaniami i odpowiedziami dla SuperUser zawiera odpowiedź na pytanie zagubionego czytelnika.
Dzisiejsza sesja pytań i odpowiedzi przychodzi do nas dzięki uprzejmości SuperUser - poddziału Stack Exchange, społecznościowego forum z pytaniami i odpowiedziami.
Czytnik SuperUser fangxing chce wiedzieć, dlaczego Linux pozwoliłby użytkownikom na usunięcie katalogu głównego:
Kiedy po raz pierwszy zainstalowałem system Linux na moim komputerze, zawsze lubiłem go używać korzeń ponieważ nie musiałem dodawać sudo i wprowadź moje hasło za każdym razem, gdy wykonuję polecenie, które wymaga uprawnień na poziomie administratora.
Pewnego dnia chciałem tylko usunąć katalog i uruchomić rm -rf /, który "zepsuł" mój system. Zastanawiam się, dlaczego projektanci Linuksa nie zablokowali tak niebezpiecznego polecenia od tak łatwego uruchomienia.
Dlaczego Linux pozwala użytkownikom na usunięcie katalogu głównego?
Kontrybutor SuperUser Ben N ma dla nas odpowiedź:
Dlaczego miałby blokować ci robienie tego, co chcesz, z własnego komputera? Logowanie jako korzeń lub za pomocą sudo dosłownie mówi do maszyny: "Wiem, co robię." Zapobieganie dokonywaniu przez ludzi podejrzanych rzeczy zazwyczaj przeszkadza im również w robieniu zmyślnych rzeczy (wyrażonych przez Raymonda Chena).
Poza tym istnieje jeden wyjątkowo dobry powód, aby zezwolić użytkownikowi na pochowanie katalogu głównego: wyłączenie komputera poprzez całkowite wymazanie systemu operacyjnego i systemu plików. (Zagrożenie! W niektórych systemach UEFI rm -rf / może też zrujnować fizyczną maszynę.) Jest także rozsądną rzeczą zrobić wewnątrz więzienia chroot.
Najwyraźniej ludzie przypadkowo uruchomili polecenie tak bardzo, że dodano funkcję bezpieczeństwa. rm -rf / nie robi nic na większości systemów, chyba że -no-zachowaj-root jest również dostarczony i nie ma możliwości, abyś mógł go wpisać przez przypadek. Pomaga to również w ochronie słabo napisanych, ale dobrze napisanych skryptów powłoki.
Czy masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych użytkowników Stack Exchange, którzy znają się na technologii? Sprawdź cały wątek dyskusji tutaj.
Źródło grafiki: Wikimedia Commons