Wow, nigdy nawet o tym nie myślałem, dopóki o tym nie wspomniałeś. Dobry.
Stefan Lasiewski
Co się stanie, jeśli zrobisz to na zwykłym pliku?
Luc M
@Luc Myślę, że wystarczy chmod go z powrotem
phunehehe
Zazwyczaj wykonuję takie „eksperymenty” na mojej Arch VM. Jeśli to bomby, po prostu go cofam.
André Paramés,
Raz popełniłem ten błąd. To było bardzo krępujące, ale cenna lekcja.
Charles Sprayberry
37
Kiedy po raz pierwszy zacząłem pracować jako konsultant użytkowników dla uniwersytetu, do którego uczęszczałem, otrzymałem ograniczone sudoprawa do pomocy studentom, którzy zgubili / zapomnieli hasła. sudo passwd <username>był moim nowym przyjacielem. Godzinę po mojej orientacji moja ciekawość zwyciężyła, więc wpisałem się sudo passwdi wpatrzyłem się z przerażeniem na monit o nowe hasło. Trochę się przestraszyłem ^C, myśląc (jak się okazuje, że to erotycznie), że mogę pozostawić to konto w stanie przejściowym, więc wprowadziłem hasło i od razu poszedłem na górę do uświęconej domeny drugiego piętra kampus SuperUser i zapytał, czy chciałby znać hasło roota głównego systemu.
Podczas gdy mnie to paliło w przeszłości, wiele wersji tego rmnie robi. Wypróbowałem Darwina i dostałem błąd rm: "." and ".." may not be removed.
Stefan Lasiewski
7
Robię to cały czas, na wszystkich platformach. Działa zgodnie z przeznaczeniem dla OpenBSD, NetBSD, Linux i OpenSolaris.
polemon
Jeśli chcesz dopasować wszystkie pliki kropek oprócz .i .., użyj .[^.]*. (Cóż, tak naprawdę brakuje wszystkich plików, zaczynając od .., ale zwykle jest tylko jeden.)
Sven Marnach
@ Sven: Innym sposobem jest .??*łatwiejsze do pisania. Ten nie będzie pasował do dwuliterowych plików kropek .a, ale są one również niezwykłe. Na przykład szukam plików konfiguracyjnych w moim katalogu domowym grep -r .??*.
Neil Mayhew
31
Makefile:
clean:
@rm -f * .o
Co oczywiście powoduje make cleanwyczyszczenie kodu źródłowego zamiast tylko plików obiektowych.
Jeśli go nie widzisz, zwróć uwagę na spację między *i.o
Denilson Sá Maia,
1
Czuję twój ból, przytrafił się nam kiedyś w pewnym momencie :)
axel_c
Lekcja została ponownie załadowana: za każdym razem, gdy robisz powłoki i widzisz „ ”, bądź * ekstra , nie, bądź ekstra Extra EXTRA ostrożnie.
Jürgen A. Erhard
Zrobiłem to ręcznie, po tym, jak pociągnąłem w laboratorium prawie całą noc. Projekt miał się odbyć kilka godzin później. Okazało się, że jest to błogosławieństwo w przebraniu; nowa, przepisana wersja, w której się zgłosiłem, była znacznie lepsza niż wersja zabandażowana, którą usunąłem.
Gdyby znajomy działał :() { :|:&}; :na zdalnym serwerze, do którego nie mieliśmy dostępu do konsoli. Nie można go ponownie uruchomić, całkowicie zamrożony, serwer produkcyjny .
Podział (na żądanie), aby był bardziej czytelny.
:()# Define ':' as a function. Every time we say ':' execute the following code block{# Start of code block:# Call ':' again. |# Pipe output to...:# Another ':' &# Disown process. # All on one line this would read :|:&, }# End of code block;# End definition of ':' as a function:# Call ':'
Czy byłbyś tak uprzejmy wyjaśnić, co robi? Nie mogę tego
rozgryźć
23
Wygląda jak bomba widełkowa. Nie próbuj tego, chyba że naprawdę wiesz, co robisz.
Zaid,
5
Tak. To widelec. I fajny :) Wydaje się rozwidlać interpretera bash, gdy bez końca próbuje go parsować. Jeśli pominiesz ostatni, :to nic nie robi. I w ogóle nie wykorzystuje pamięci, po prostu dużo forksuje. [Tak, próbowałem :)]. Efekty można blokować przydziałem liczby procesów na użytkownika.
+1 do cytowania „Tylko z korzeniem można osiągnąć prawdziwy ból (a tym samym oświecenie)”.
Stefan Lasiewski
21
Przez przypadek wyczyściłem tablicę partycji głównego dysku, myśląc, że pracuję na innym dysku.
Dzięki przewijaniu, ostrożnemu użyciu df, pamięci i szczęściu udało mi się dokładnie go odtworzyć, przepisać, uruchomić ponownie i mieć nadzieję ... I zadziałało.
Zrobił to przyjaciel i pomogłem mu przywrócić stół. Niestety, nie mieliśmy wcześniejszych wartości rozmiarów i przesunięć partycji, więc użyliśmy pętli bash z ddodczytem pierwszego bloku 4k każdego cylindra podłączonego do niego, file -aby znaleźć superblok, a tym samym początek systemu plików. To było na live CD i nie było wystarczającej ilości pamięci RAM, aby zrobić wszystko, co musieliśmy zrobić (w tym zainstalować pakiet lub dwa), więc przeszliśmy do procesu działającego w ssh na innym komputerze.
Neil Mayhew
2
Ojej. Dlatego zawsze używam sfdisk -Odo tworzenia kopii zapasowej tabeli partycji. Informacje: cgsecurity.org/wiki/TestDisk może zautomatyzować to, co zrobił @Neil Mayhew.
ephemient
2
Ja też tam byłem, testdiskuratowałem swoje pudełko
phunehehe
Obecnie mamy gpart, którzy szukają rzeczy, które mogą przypominać systemy plików i na tej podstawie budują tablicę partycji.
Simon Richter,
19
Nie tak naprawdę moja chwila, ale czyjaś inna.
Kiedy pracowałem w ośrodku badawczym nauk nuklearnych, pracowaliśmy na wielu komputerach SunOS, Ultrix i Linux, a naukowcy musieli dzielić procesor na tych komputerach. Ponieważ poszczególne grupy badawcze otrzymały własne granty badawcze, zakupiły własne komputery, głównie SparcStations i same sami administrowały systemem.
SunOS był dostarczany z pulpitem OpenView i ładnym menedżerem plików, tak to wyglądało:
Większość naszych badaczy działała jako root i niejednokrotnie musieliśmy ponownie instalować systemy operacyjne, ponieważ ktoś postanowił uporządkować katalog główny i przeniósł / bin, / etc, / tmp i wszystko inne, co zaśmieciło widok Kosz lub jakiś podfolder.
Inni użytkownicy postanowili uporządkować katalog / bin i usunąć wszelkie polecenia, których nie znali.
Szczęśliwcy mieli kopie zapasowe, większość kupiła napęd taśmowy, ale nie miała tradycji samodzielnego wykonywania kopii zapasowych.
TRWTF jest uruchomiony jako root w ośrodku badawczym nauk jądrowych!
odwrócenie
4
fajny zrzut ekranu! sprawia, że jestem nostalgiczny.
Gabe.
@Alex - no cóż, był duży plik VMUNIX, z którego nie korzystałem ....
Martin Beckett,
1
W starszych wersjach systemu Mac OS można było przenieść dowolny plik w dowolne miejsce, więc być może tego się spodziewali ...
Kevin Cantu
18
W połowie lat 90. rozmawialiśmy z moim przyjacielem o szaleństwie, rm -rf *w którym momencie Linux miałby upaść. Przeszliśmy do bibliotek połączonych statycznie i dynamicznie, a ja uznałem, że system mógłby funkcjonować całkiem dobrze bez, /liba następnie przystąpiłem do zmiany nazwy na mojej stacji roboczej. Zdarzały się złe rzeczy , ale pozostało nam kilka otwartych okien konsoli, za pomocą których można naprawić szkody (wyłączenie nie było już opcją). Żaden z edytorów nie działał. To niesamowite, że ezoteryczne zastosowania można znaleźć w echopoleceniu.
@Alex B: Ta historia jest również częścią Unix Horror Stories , którą można po prostu czytać.
Bobby,
18
vii Caps-Lockvs./etc/passwd
Połącz się ze starym systemem Solaris za pomocą starego terminala szeregowego, który nie odświeża poprawnie ekranu.
su -
vi /etc/passwd. Nie mavipw , a „i tak dokonujemy drobnych zmian”.
Trafienie Caps-Lock klawisz i nie zauważaj.
Naciśnij jkilka razy, aby przewinąć w dół. Zignoruj fakt, że właśnie wpisałeśJ („Dołącz”), co łączy tę linię z następną linią. Ekran terminala szeregowego nie odświeżał się poprawnie, więc nie widziałeś, że po prostu połączyłeś pierwsze 5 linii w jedną linię Loooooong, powodując w ten sposób uszkodzenie pierwszych 5 użytkowników („root”, „demon” itp.).
Zakończ inne zamierzone zmiany w pliku, w dół na dole.
Zapisz plik.
Wyloguj.
Zrobiłem to raz. O dziwo, system pozostawał funkcjonalny przez wiele miesięcy. Cronjobs działał dobrze, w plikach dziennika nie wyróżniały się żadne błędy.
Nie zauważyliśmy tego problemu, dopóki nie uruchomiliśmy systemu kilka miesięcy później i nie mogliśmy zalogować się na konsoli. pspokazał kilka zadań należących do UID „0”, a nie do użytkownika „root”.
Nie można zalogować się jako root, ani uruchomić sulub su -, i nie było tego sudow tym polu. Nie było napędu dyskietek, dysk CD-ROM został uszkodzony i nie ma portów USB (więc nie ma zewnętrznego napędu CD-ROM). Tryb pojedynczego użytkownika nie działał, ponieważ musisz wpisać hasło użytkownika root, a pochodzi ono z /etc/passwd.
Z pewnością „J” to polecenie „Połącz” (jak w liniach łączenia razem)?
dr-jan
2
Chwileczkę, nie muszę wpisywać hasła, aby uruchomić system w trybie pojedynczego użytkownika. Tak zresztą zresetowałem hasło roota, jeśli je utracę. A może było inaczej w dawnych czasach?
phunehehe,
W systemie Solaris musisz znać hasło roota, aby wejść w tryb pojedynczego użytkownika. Właściwie musiałem to zrobić 2 tygodnie temu.
Stefan Lasiewski
@phunehehe Myślę, że myślisz o sztuczce init = / bin / sh. To naprawdę nie wymaga hasła roota. Jednak poziom 1 wciąż wymaga podania roota
To, co tak naprawdę uwielbiam w tym, to fakt, że był zainteresowany tym, jak długo trwa emacs, ale nie tylko go użył alias e=emacs.
Steven D
Poza kawą zauważ, że „e” i „r” nie są bardzo odległe w pobliżu klawiatury ...
leonbloy
11
Lub kolejne doświadczenie, jak poczuć się naprawdę głupio w kilku prostych krokach, które nie wydają się takie głupie indywidualnie.
Krok pierwszy: załóż konto dla dziecka, na wypadek, gdyby chciał skorzystać z Linux-a. Daj mu trywialne hasło, ponieważ w końcu jest to system domowy i nie jest narażony na działanie sieci.
Krok drugi: poczekaj, aż upłynie czas, więc nie pamiętasz kroku pierwszego.
Krok trzeci: otwórz port SSH w zaporze ogniowej (właściwie NAT na routerze), aby się zalogować. W końcu moje konta mają całkiem dobre hasła i nie jest tak, że coś jest niezwykle cenne.
Krok czwarty: otrzymaj powiadomienie od dostawcy usług internetowych o przejściu aktywności DOS na szwedzką stronę. Załóżmy, że to prawdopodobnie okna systemu Windows, i zbadaj je i stwardnij.
Krok piąty: otrzymaj powiadomienie od dostawcy usług internetowych, że nadal trwa. Zapytaj o szczegóły, uzyskaj adres IP szwedzkiej strony, uruchom Wireshark, znajdź pole, z którego pochodzi atak.
Krok szósty: oczyść Linuksa, czując się głupio Znajdź login pochodzi z rumuńskiego adresu. Usuń konta bez dobrych haseł.
Byłem tam Kiedyś utworzyłem konto z loginem testu: test, zamierzam go używać tylko przez około pięć minut. Zapomniałem go usunąć i uzyskałem takie same wyniki jak Ty. Nigdy więcej. Teraz używam uwierzytelniania z kluczem publicznym.
ATC
1
Tak, używam również kluczy publicznych / prywatnych. Czasami mogą być nieco denerwujące, ale o wiele bezpieczniejsze niż proste hasła.
Denilson Sá Maia
4
Podczas otwierania SSH w Internecie NIGDY NIE zezwalaj na uwierzytelnianie za pomocą hasła. Tylko autoryzacja klucza publicznego / prywatnego, w ten sposób nie można dać się zaskoczyć.
wazoox
@wazoox: otp jest również dobrą alternatywą.
Jürgen A. Erhard
Używam niestandardowego, o wysokim numerze portu dla ssh, przekierowanego z routera do standardowego portu ssh w moich systemach Linux i Mac OS X. Nigdy nie dostać jakiekolwiek próby. Port mam skonfigurowany w skrócie w ~ / .ssh / config na moich innych komputerach, więc zwykle nawet nie muszę go pisać.
Neil Mayhew
11
W pracowniach komputerowych, gdy byłem na studiach, mieli wygaszacz ekranu, który symulował kilka piłek, które unosiłyby się do przodu i do tyłu. Pociągnęli każdego z symulowaną grawitacją.
Kiedyś, gdy bałaganiłem ustawienia, rozbił się z błędem Error: force on balls too great
Kiedyś opracowywałem sterownik urządzenia dla Uniksa. Miał problem ze wskaźnikiem i podczas testowania zaczął zapisywać koniec tablicy w pamięci jądra. Powoli to zauważyłem i nie nacisnąłem przycisku resetowania od razu. Sterownik nabazgrał całą pamięć podręczną bufora dysku, który został następnie opróżniony na dysk, zanim wykonałem reset. Wiele bloków to i-węzły i katalogi, a ja skończyłem z całkowicie zniszczonym systemem plików. Myślę, że lost+foundprzed poddaniem się i ponownym zainstalowaniem włożono 6000 osieroconych plików . Na szczęście był to tylko system testowy, a nie moja stacja robocza z wszystkimi moimi plikami.
Teraz robienie tego w twoim systemie pracy byłoby naprawdę głupie ;-)
Jürgen A. Erhard
8
I usunięte /, itp, a następnie odzyskuje się . Nie sądzę, żebym nauczył się mojej lekcji ... Musiałem też zregenerować się po usunięciu /bin. Wydaje się, że tak się dzieje, kiedy pracuję z chroot.
Bardzo chciałbym wiedzieć, dlaczego zostałem zmodowany
ksenoterracid
1
Byłem tego również świadkiem. Dziwi mnie, że system może przetrwać bez / etc --- po prostu niczego nie restartuj.
Stefan Lasiewski,
7
W zeszłym roku mój kolega używał jednej z naszych stacji roboczych z systemem Linux do tworzenia kopii dysków flash za pomocą ddpolecenia. Przypadkowo wpisał coś podobnego do następującego:
dd if=flash-image.img of=/dev/sda1
Zanim zdał sobie sprawę ze swojego błędu - nadpisania dysku twardego zamiast dysku flash - maszyna była już ukryta. Musieliśmy przebudować skrzynkę, która nawiasem mówiąc, była także maszyną obsługującą wszystkie nasze maszyny wirtualne rozwoju w tym czasie ...
+1 - bądź bardzo, bardzo, bardzo ostrożny dd!!! :-)
Josh
7
Zdarzyło mi się to w zeszłym roku. Usuwałem niektóre pliki z serwera za pomocą zmiennej tymczasowej:
rm -rf ${prefix}*
Zgadnij co? Zmienna $prefixnie została zdefiniowana!
Możesz sobie wyobrazić katastrofę ... która spowodowała usunięcie niektórych bardzo krytycznych plików.
Prawie zepsułem się Control-Ci pobiegłem do procesora, aby odłączyć kabel sieciowy !!
Podczas mojego drugiego roku studiów informatyki dostaliśmy zadanie domowe do napisania programu w C, który odrodziłby wiele podprocesów z fork i umożliwiłby im komunikację z rurami w „okręgu” i ustalenie, który z nich powinien być „liderem” „.
Wciąż byliśmy dość noobami i większość peple nie miała żadnych maszyn z Linuksem, więc pracowaliśmy nad naszymi kontami na głównym serwerze naszego wydziału (który hostował oficjalną stronę, a także konta pracowników i strony). Większość ludzi pisała widełki na pewnym etapie odrabiania lekcji. Ponad połowa mojej grupy dotarła do abusersakt. To było największe obciążenie na tym serwerze od dłuższego czasu :)
to było głupie z ich strony ... nie powinni byli umieszczać cię na tej samej maszynie co serwery WWW i takie tam. (Moja szkoła ma to samo, ale mamy serwery dedykowane do zdalnych pocisków, więc coroczne widełki tak naprawdę nie wymykają się spod kontroli)
Spudd86
Microsoft uzyskał możliwość nawiązania współpracy, a Windows i .net były już wtedy bardzo promowane. Nikt nie spodziewał się kilku noobów na serwerze :)
naugtur
6
Kiedy moja uczelnia postanowiła zmienić sieć bezprzewodową, aby korzystać z zastrzeżonego uwierzytelnienia Cisco LEAP ...
Rozpoczęła się bardzo długa bitwa, która zakończyła się dość dobrze. Napisałem dokumentację dla innych, którzy chcieli uruchomić Linuksa i mieć dostęp do Internetu. Sześć miesięcy później postanowili również dodać obsługę PEAP. uderzenie w twarz
Byłem asystentem laboratoryjnym na zajęciach z Linuksa. Jeden ze studentów zadzwonił do mnie, ponieważ nie mogła już, su -bo dostawała permission denied. OK, źle zapamiętała / źle wpisała hasło. Uruchom ponownie w trybie pojedynczego użytkownika i zresetuj. Co?!suSTILL nie działa ?! MUSI pokłonić się mojej woli! Ponownie uruchamiam się w trybie pojedynczego użytkownika, aby dowiedzieć się, co zrobiła. Uświadomiłem sobie, że ona biegłachmod -R 777 /var/www/html/drupal-6.19 /
Zwróć uwagę na spację między nazwą katalogu a ostatnim ukośnikiem.
Po kilku minutach „Naprawdę nie chcę jej ponownie instalować, więc co to robi i jak”. Udało mi się znaleźć, że / bin / su ma teraz uprawnienia do plików 777. Można to również odczytać jako uprawnienia do pliku 0777, co usuwa bit setuid /bin/su. Szybki chmod u+s /bin/sui byłem bohaterem.
To była jedyna rzecz, którą musiałeś zmienić, aby złamać jej system?
Michael Mrozek
1
Jestem pewien, że wciąż był zepsuty, ale może działał wystarczająco dobrze dla reszty klasy.
Stefan Lasiewski,
1
Działało wystarczająco dobrze dla reszty klasy; szkoła najwyraźniej wymaga, aby wszystkie dyski studentów były instalowane co kwartał. A ona nie kontynuowała pracy z Linuksem po tym kwartale, więc nie zawracałem sobie głowy naprawieniem go przez resztę drogi.
Kevin M.
5
Nie to bolesne ... Ale zabawna chwila:
Błędnie wpisałem lsjako sli dowiedziałem się, że sysadmin miał coś zainstalowanego na taki przypadek.
To bardziej pisanka niż bolesna chwila. Przeczytałem o tym, zanim się z nim spotkałem, ale nigdy nie popełniłem błędu, więc nie daje +1.
Umang,
Grinn .. Miałem kiedyś użytkownika, który do mnie przyszedł „Twój system został zhakowany !!! 11 jeden Dostałem animację ASCII-art, gdy
wpisałem
^ Nie takie śmieszne!
mr_eclair
5
git init
git clean -f
To nie usuwa repozytorium. To usuwa wszystko, czego nie ma w repozytorium.
Po próbie pozbycia się istniejącego repozytorium, a następnie ponownego uruchomienia kontroli źródła (w ukończonej pierwszej wersji projektu), te dwie komendy zniszczyły cały mój kod.
git rebase (ze zgniataniem) i git filter-branch (do usuwania plików) są twoimi przyjaciółmi :-) Rozumiem przez to, że istnieją bezpieczniejsze sposoby usuwania crufta z historii repo i kończenia na stosunkowo czystym projekcie. Zwykle robię kopię zapasową bieżącego oddziału przed rozległym bazowaniem.
Neil Mayhew
5
Firma, dla której kiedyś pracowałem, miała swój produkt na SCO. Debiutowałem, gdy aplikacje działały bardzo wolno na naszym serwerze demonstracyjnym, a jednocześnie wielu klientów otrzymało prezentację / wykład na temat nadchodzących nowych funkcji.
Więc uruchomiłem aplikację, która kiedyś się zacięła, zrobiłem na niej swoje rzeczy, aby zweryfikować główną przyczynę, ale ponieważ nadal „utknęła”, próbowałem ją zabić:
pkill -9 mytestapplication
Nauczyłem się, że pkill nie działa dokładnie tak samo w SCO, jak w Linux =)
... Zasadniczo zabija wszystko, do czego użytkownik ma dostęp, a przy rootowaniu ... to wszystko =)
Miałem dwa dyski zainstalowane w jednym punkcie i główny system plików drugiego dysku zamontowano w katalogu wewnątrz /mnt. Byłem w tym katalogu i próbowałem usunąć, varale rm -rf /varzamiast tego pisałem . Jakiś instynkt zdawał się budzić przypuszczenie, że to varmusi być poprzedzone cięciem!
Kiedy zdałem sobie sprawę z tego, co zrobiłem, natychmiast uderzyłem, Ctrl-Cale było już za późno. Moja rpmbaza danych już dawno opuściła budynek. Spędziłem wieki, przywracając wszystko do normy.
Teraz część bolesna.
Wracam do tego katalogu w /mnt aby wznowić to, co robiłem. Co mam wpisać? Powiedzmy, że instynkt ponownie się uruchomił.
Przynajmniej udało mi się przywrócić system za drugim razem znacznie szybciej;)
rm
polecenia. Lub smutny.Odpowiedzi:
Byłem ciekawy, czy
chmod 000 /
zadziała.Cóż, bezbłędnie. Kilka minut później szukałem ratunkowej płyty CD.
źródło
Kiedy po raz pierwszy zacząłem pracować jako konsultant użytkowników dla uniwersytetu, do którego uczęszczałem, otrzymałem ograniczone
sudo
prawa do pomocy studentom, którzy zgubili / zapomnieli hasła.sudo passwd <username>
był moim nowym przyjacielem. Godzinę po mojej orientacji moja ciekawość zwyciężyła, więc wpisałem sięsudo passwd
i wpatrzyłem się z przerażeniem na monit o nowe hasło. Trochę się przestraszyłem^C
, myśląc (jak się okazuje, że to erotycznie), że mogę pozostawić to konto w stanie przejściowym, więc wprowadziłem hasło i od razu poszedłem na górę do uświęconej domeny drugiego piętra kampus SuperUser i zapytał, czy chciałby znać hasło roota głównego systemu.źródło
passwd
zachowuje się zabawnie po uruchomieniu jako root. Na przykład, gdy sprawdzanie literówki nie powiedzie się, pyta ponownie.Zaskoczony, nikt jeszcze o tym nie wspominał:
(Podczas próby usunięcia wszystkich ukrytych plików i podkatalogów, całkowicie zapominając, że będzie się powtarzał w
.
i..
)źródło
rm
nie robi. Wypróbowałem Darwina i dostałem błądrm: "." and ".." may not be removed
..
i..
, użyj.[^.]*
. (Cóż, tak naprawdę brakuje wszystkich plików, zaczynając od..
, ale zwykle jest tylko jeden.).??*
łatwiejsze do pisania. Ten nie będzie pasował do dwuliterowych plików kropek.a
, ale są one również niezwykłe. Na przykład szukam plików konfiguracyjnych w moim katalogu domowymgrep -r .??*
.Makefile:
Co oczywiście powoduje
make clean
wyczyszczenie kodu źródłowego zamiast tylko plików obiektowych.Lekcja: użyj kontroli wersji.
źródło
*
i.o
Gdyby znajomy działał
:() { :|:&}; :
na zdalnym serwerze, do którego nie mieliśmy dostępu do konsoli. Nie można go ponownie uruchomić, całkowicie zamrożony, serwer produkcyjny .Podział (na żądanie), aby był bardziej czytelny.
Może być łatwiej na to spojrzeć
źródło
:
to nic nie robi. I w ogóle nie wykorzystuje pamięci, po prostu dużo forksuje. [Tak, próbowałem :)]. Efekty można blokować przydziałem liczby procesów na użytkownika.Miałem na myśli dobrze, naprawdę. Próbowałem
chmod
rekurencyjnie katalogu i skończyłem./
z/
.Oczywiście jako korzeń, ponieważ tylko za pomocą korzenia można osiągnąć prawdziwy ból (a tym samym oświecenie).
źródło
Przez przypadek wyczyściłem tablicę partycji głównego dysku, myśląc, że pracuję na innym dysku.
Dzięki przewijaniu, ostrożnemu użyciu
df
, pamięci i szczęściu udało mi się dokładnie go odtworzyć, przepisać, uruchomić ponownie i mieć nadzieję ... I zadziałało.źródło
dd
odczytem pierwszego bloku 4k każdego cylindra podłączonego do niego,file -
aby znaleźć superblok, a tym samym początek systemu plików. To było na live CD i nie było wystarczającej ilości pamięci RAM, aby zrobić wszystko, co musieliśmy zrobić (w tym zainstalować pakiet lub dwa), więc przeszliśmy do procesu działającego w ssh na innym komputerze.sfdisk -O
do tworzenia kopii zapasowej tabeli partycji. Informacje: cgsecurity.org/wiki/TestDisk może zautomatyzować to, co zrobił @Neil Mayhew.testdisk
uratowałem swoje pudełkogpart
, którzy szukają rzeczy, które mogą przypominać systemy plików i na tej podstawie budują tablicę partycji.Nie tak naprawdę moja chwila, ale czyjaś inna.
Kiedy pracowałem w ośrodku badawczym nauk nuklearnych, pracowaliśmy na wielu komputerach SunOS, Ultrix i Linux, a naukowcy musieli dzielić procesor na tych komputerach. Ponieważ poszczególne grupy badawcze otrzymały własne granty badawcze, zakupiły własne komputery, głównie SparcStations i same sami administrowały systemem.
SunOS był dostarczany z pulpitem OpenView i ładnym menedżerem plików, tak to wyglądało:
Większość naszych badaczy działała jako root i niejednokrotnie musieliśmy ponownie instalować systemy operacyjne, ponieważ ktoś postanowił uporządkować katalog główny i przeniósł / bin, / etc, / tmp i wszystko inne, co zaśmieciło widok Kosz lub jakiś podfolder.
Inni użytkownicy postanowili uporządkować katalog / bin i usunąć wszelkie polecenia, których nie znali.
Szczęśliwcy mieli kopie zapasowe, większość kupiła napęd taśmowy, ale nie miała tradycji samodzielnego wykonywania kopii zapasowych.
źródło
W połowie lat 90. rozmawialiśmy z moim przyjacielem o szaleństwie,
rm -rf *
w którym momencie Linux miałby upaść. Przeszliśmy do bibliotek połączonych statycznie i dynamicznie, a ja uznałem, że system mógłby funkcjonować całkiem dobrze bez,/lib
a następnie przystąpiłem do zmiany nazwy na mojej stacji roboczej. Zdarzały się złe rzeczy , ale pozostało nam kilka otwartych okien konsoli, za pomocą których można naprawić szkody (wyłączenie nie było już opcją). Żaden z edytorów nie działał. To niesamowite, że ezoteryczne zastosowania można znaleźć wecho
poleceniu.źródło
vi
i Caps-Lockvs./etc/passwd
su -
vi /etc/passwd
. Nie mavipw
, a „i tak dokonujemy drobnych zmian”.Zrobiłem to raz. O dziwo, system pozostawał funkcjonalny przez wiele miesięcy. Cronjobs działał dobrze, w plikach dziennika nie wyróżniały się żadne błędy.
Nie zauważyliśmy tego problemu, dopóki nie uruchomiliśmy systemu kilka miesięcy później i nie mogliśmy zalogować się na konsoli.
ps
pokazał kilka zadań należących do UID „0”, a nie do użytkownika „root”.Nie można zalogować się jako root, ani uruchomić
su
lubsu -
, i nie było tegosudo
w tym polu. Nie było napędu dyskietek, dysk CD-ROM został uszkodzony i nie ma portów USB (więc nie ma zewnętrznego napędu CD-ROM). Tryb pojedynczego użytkownika nie działał, ponieważ musisz wpisać hasło użytkownika root, a pochodzi ono z/etc/passwd
.źródło
i
kiedy
DIR
nie został ustawiony!źródło
${DIR}
? Ponieważ$(DIR)
próbowałby wykonać polecenie DIR.Pamiętam, jak próbowałem wysłać SysRqsekwencję klawiszy do zdalnego komputera ...
... ale został schwytany przez lokalnego.
źródło
Kilka
halt
sekund później proste stwierdzenie, że nie jestem w lokalnej powłoce i nie mam możliwości ponownego włączenia serwera produkcyjnego.Zdobyta wiedza? Wygląda teraz komunikat zachęty
[ --> root <-- @kompost:/home/echox] #
z ładnym czerwonym znacznikiem ;-)
źródło
molly-guard
które sprawdza, czy jesteś zalogowany zdalnie i pyta, czy naprawdę chcesz to zrobić.Moim ulubionym momentem było, gdy współpracownik, który jest użytkownikiem emacsa, chciał edytować ważny plik.
Ponieważ
emacs
jest zbyt wiele do pisania, dla którego skonfigurował aliasemacs
:Pod wpływem niewystarczającej lub zbyt dużej ilości kawy oczywiście źle napisał
em
...Cóż, to tylko kolejny powód do użycia
vi
...;)źródło
alias e=emacs
.Lub kolejne doświadczenie, jak poczuć się naprawdę głupio w kilku prostych krokach, które nie wydają się takie głupie indywidualnie.
Krok pierwszy: załóż konto dla dziecka, na wypadek, gdyby chciał skorzystać z Linux-a. Daj mu trywialne hasło, ponieważ w końcu jest to system domowy i nie jest narażony na działanie sieci.
Krok drugi: poczekaj, aż upłynie czas, więc nie pamiętasz kroku pierwszego.
Krok trzeci: otwórz port SSH w zaporze ogniowej (właściwie NAT na routerze), aby się zalogować. W końcu moje konta mają całkiem dobre hasła i nie jest tak, że coś jest niezwykle cenne.
Krok czwarty: otrzymaj powiadomienie od dostawcy usług internetowych o przejściu aktywności DOS na szwedzką stronę. Załóżmy, że to prawdopodobnie okna systemu Windows, i zbadaj je i stwardnij.
Krok piąty: otrzymaj powiadomienie od dostawcy usług internetowych, że nadal trwa. Zapytaj o szczegóły, uzyskaj adres IP szwedzkiej strony, uruchom Wireshark, znajdź pole, z którego pochodzi atak.
Krok szósty: oczyść Linuksa, czując się głupio Znajdź login pochodzi z rumuńskiego adresu. Usuń konta bez dobrych haseł.
źródło
W pracowniach komputerowych, gdy byłem na studiach, mieli wygaszacz ekranu, który symulował kilka piłek, które unosiłyby się do przodu i do tyłu. Pociągnęli każdego z symulowaną grawitacją.
Kiedyś, gdy bałaganiłem ustawienia, rozbił się z błędem
Error: force on balls too great
źródło
Kiedyś opracowywałem sterownik urządzenia dla Uniksa. Miał problem ze wskaźnikiem i podczas testowania zaczął zapisywać koniec tablicy w pamięci jądra. Powoli to zauważyłem i nie nacisnąłem przycisku resetowania od razu. Sterownik nabazgrał całą pamięć podręczną bufora dysku, który został następnie opróżniony na dysk, zanim wykonałem reset. Wiele bloków to i-węzły i katalogi, a ja skończyłem z całkowicie zniszczonym systemem plików. Myślę, że
lost+found
przed poddaniem się i ponownym zainstalowaniem włożono 6000 osieroconych plików . Na szczęście był to tylko system testowy, a nie moja stacja robocza z wszystkimi moimi plikami.źródło
I usunięte /, itp, a następnie odzyskuje się . Nie sądzę, żebym nauczył się mojej lekcji ... Musiałem też zregenerować się po usunięciu
/bin
. Wydaje się, że tak się dzieje, kiedy pracuję zchroot
.źródło
W zeszłym roku mój kolega używał jednej z naszych stacji roboczych z systemem Linux do tworzenia kopii dysków flash za pomocą
dd
polecenia. Przypadkowo wpisał coś podobnego do następującego:Zanim zdał sobie sprawę ze swojego błędu - nadpisania dysku twardego zamiast dysku flash - maszyna była już ukryta. Musieliśmy przebudować skrzynkę, która nawiasem mówiąc, była także maszyną obsługującą wszystkie nasze maszyny wirtualne rozwoju w tym czasie ...
źródło
dd
!!! :-)Zdarzyło mi się to w zeszłym roku. Usuwałem niektóre pliki z serwera za pomocą zmiennej tymczasowej:
Zgadnij co? Zmienna
$prefix
nie została zdefiniowana!Możesz sobie wyobrazić katastrofę ... która spowodowała usunięcie niektórych bardzo krytycznych plików.
Prawie zepsułem się Control-Ci pobiegłem do procesora, aby odłączyć kabel sieciowy !!
Hahaha jestem pewien, że ktoś już to zrobił ...
źródło
Podczas mojego drugiego roku studiów informatyki dostaliśmy zadanie domowe do napisania programu w C, który odrodziłby wiele podprocesów z
fork
i umożliwiłby im komunikację z rurami w „okręgu” i ustalenie, który z nich powinien być „liderem” „.Wciąż byliśmy dość noobami i większość peple nie miała żadnych maszyn z Linuksem, więc pracowaliśmy nad naszymi kontami na głównym serwerze naszego wydziału (który hostował oficjalną stronę, a także konta pracowników i strony). Większość ludzi pisała widełki na pewnym etapie odrabiania lekcji. Ponad połowa mojej grupy dotarła do
abusers
akt. To było największe obciążenie na tym serwerze od dłuższego czasu :)źródło
Kiedy moja uczelnia postanowiła zmienić sieć bezprzewodową, aby korzystać z zastrzeżonego uwierzytelnienia Cisco LEAP ...
Rozpoczęła się bardzo długa bitwa, która zakończyła się dość dobrze. Napisałem dokumentację dla innych, którzy chcieli uruchomić Linuksa i mieć dostęp do Internetu. Sześć miesięcy później postanowili również dodać obsługę PEAP. uderzenie w twarz
To moje ulubione, bo wygrałem. Mam to do pracy.
źródło
Jako root w Solarisie,
... i wszystko poszło w dół.
Mój przyjaciel został zwolniony z tego powodu.
źródło
Byłem asystentem laboratoryjnym na zajęciach z Linuksa. Jeden ze studentów zadzwonił do mnie, ponieważ nie mogła już,
su -
bo dostawałapermission denied
. OK, źle zapamiętała / źle wpisała hasło. Uruchom ponownie w trybie pojedynczego użytkownika i zresetuj. Co?!su
STILL nie działa ?! MUSI pokłonić się mojej woli! Ponownie uruchamiam się w trybie pojedynczego użytkownika, aby dowiedzieć się, co zrobiła. Uświadomiłem sobie, że ona biegłachmod -R 777 /var/www/html/drupal-6.19 /
Zwróć uwagę na spację między nazwą katalogu a ostatnim ukośnikiem.
Po kilku minutach „Naprawdę nie chcę jej ponownie instalować, więc co to robi i jak”. Udało mi się znaleźć, że / bin / su ma teraz uprawnienia do plików
777
. Można to również odczytać jako uprawnienia do pliku0777
, co usuwa bit setuid/bin/su
. Szybkichmod u+s /bin/su
i byłem bohaterem.źródło
Nie to bolesne ... Ale zabawna chwila:
Błędnie wpisałem
ls
jakosl
i dowiedziałem się, że sysadmin miał coś zainstalowanego na taki przypadek.(już dostępne w repozytoriach Debian , Ubuntu , Gentoo , ...)
źródło
To nie usuwa repozytorium. To usuwa wszystko, czego nie ma w repozytorium.
Po próbie pozbycia się istniejącego repozytorium, a następnie ponownego uruchomienia kontroli źródła (w ukończonej pierwszej wersji projektu), te dwie komendy zniszczyły cały mój kod.
źródło
Firma, dla której kiedyś pracowałem, miała swój produkt na SCO. Debiutowałem, gdy aplikacje działały bardzo wolno na naszym serwerze demonstracyjnym, a jednocześnie wielu klientów otrzymało prezentację / wykład na temat nadchodzących nowych funkcji.
Więc uruchomiłem aplikację, która kiedyś się zacięła, zrobiłem na niej swoje rzeczy, aby zweryfikować główną przyczynę, ale ponieważ nadal „utknęła”, próbowałem ją zabić:
Nauczyłem się, że pkill nie działa dokładnie tak samo w SCO, jak w Linux =)
... Zasadniczo zabija wszystko, do czego użytkownik ma dostęp, a przy rootowaniu ... to wszystko =)
źródło
Moja zmiana z Debiana na Ubuntu rozpoczęła się w dniu, w którym próbowałem usunąć niektóre pliki i katalogi, co oznaczało pisanie
Niestety wstawiłem spację między „/ var / tmp /” a „*”, a co gorsza, byłem w katalogu głównym systemu plików.
Proszę, nie próbuj tego w domu!
źródło
Istnieje fajna sztuczka, aby zrobić odpowiednio odpowiednik
dirname
ibasename
odpowiednio w Bash:Nie tak zabawne, gdy
$path
zawiera ukośnik ...źródło
Miałem dwa dyski zainstalowane w jednym punkcie i główny system plików drugiego dysku zamontowano w katalogu wewnątrz
/mnt
. Byłem w tym katalogu i próbowałem usunąć,var
alerm -rf /var
zamiast tego pisałem . Jakiś instynkt zdawał się budzić przypuszczenie, że tovar
musi być poprzedzone cięciem!Kiedy zdałem sobie sprawę z tego, co zrobiłem, natychmiast uderzyłem, Ctrl-Cale było już za późno. Moja
rpm
baza danych już dawno opuściła budynek. Spędziłem wieki, przywracając wszystko do normy.Teraz część bolesna.
Wracam do tego katalogu w
/mnt
aby wznowić to, co robiłem. Co mam wpisać? Powiedzmy, że instynkt ponownie się uruchomił.Przynajmniej udało mi się przywrócić system za drugim razem znacznie szybciej;)
źródło