SysRq
W czasie ostatniej kompilacji jądra zaciekawiła mnie jedna z opcji:
Kernel Hacking | |___ Magic SysRqKey
Wkompilowanie obsługi SysRq pozwala nam na "zapanowanie" nad systemem nawet w przypadku braku odpowiedzi ze strony komputera (pod warunkiem,. że jądro systemu nadal funkcjonuje). Cóż nam to daje? Oferuje nam skróty klawiaturowe, które pozwalają wykonać ściśle określone instrukcje:
Alt+SysRq+h wyświetla pomoc Alt+SysRq+b restart systemu, bez odmontowania dysków i zapisania buforów. Alt+SysRq+e wysyła sygnał TERM do wszystkich procesów z wyjątkiem procesu INIT Alt+SysRq+i wysyła sygnał KILL do wszystkich procesów z wyjątkiem procesu INIT Alt+SysRq+k sekwencja SAK, zabicie wszystkich procesów na danej konsoli, Alt+SysRq+l wysyła sygnał KILL do wszystkich procesów, z procesem INIT włącznie Alt+SysRq+m informacja o pamięci Alt+SysRq+o wyłączenie systemu Alt+SysRq+p wyświetla zawartość rejestrów i flag procesora Alt+SysRq+r przełącza kalawiaturę w tryb RAW Alt+SysRq+s synchronizacja dysków i zapisania zawartości buforów dysków Alt+SysRq+t lista wszystkich zadań Alt+SysRq+u przemontowanie wszystkich dysków w trybie "tylko do odczytu"
Wszystkie komunikaty jądra po skierowaniu do niego któregoś z powyższych zapytań można ujrzeć w dmesg.
Jak widać, opcja ta pozwala na bezpośredni dostęp do jądra bez konieczności logowania się do systemu (wystarczy posiadać fizyczny dostęp do maszyny), z tego też powodu zalecanym jest aby w przypadku serwerów dostępnych publicznie (szkoły, biblioteki etc.) wyłączać tą opcję kernela.
SysRq pozwala na zapanowanie nad ForkBombą, którą opisałem pokrótce w poprzednim wpisie.
Ciekawa rzecz. Ale powiedz mi czy SysRq to ten klawisz pomiędzy ctrl i tym windowsowym?
Arghh ;-) Myślałem że każda klawiatura ma to oznaczone :D ^^
SysRq to w większości klawiatur PC ten sam klawisz co PRINT SCREEN.
PrtSc=SysRq
Tej faktycznie jest! Muszę częściej na nią popatrzeć ;-)
Ciekawi mnie, czemu w standardowych jajkach tego nie dają...
Jaka jest najbezpieczniejsza/najlepsza kombinacja Alt+SysRq która pozwala uruchomić ponownie komputer w krytycznej sytuacji?
S+U+B - za każdym razem poczekać kilka sekund (najlepiej patrzeć na dysk czy przestaje pracować). Super bezpieczne na XFS, Reiserfs i Ext3 - na reszcie nie próbowałem :))
Gdzieś czytałem o REIUB i RESUB ale nie chce mi się myśleć o najlepszej kombinacji. Dzięki ;) .
RESUB _teoretycznie_ powinno zapisać wszystkie efekty Twojej pracy, np. otwarte okna w firefox//opera etc. W praktyce to nic nie daje, i tak wisi zazwyczaj tak wiele rzeczy, że próba SIGTERM dla każdej aplikacji skończy się EPIC FAILem ;-)). Sync na dysk, remount read only i reboot wystarcza, aby mieć pewność co do bezpieczeństwa danych na dysku.