FANDOM


Oxygen480-status-mail-task 검증이 필요합니다.
작성자가 리눅스 자폭하기 문서의 내용을 제대로 테스트하지 않고 써서 잘못된 지식을 서술했을 가능성이 조금 있습니다. 여러분이 나서서 검증해주세요.


껐다 켜도 안 되는 방법 Edit

rm -rf / Edit

모든 파일과 디렉터리를 날려버리는 기능 - 현재는 --no-preserve-root을 사용해야 합니다.

현재는 rm -rf / --no-preserve-root을 붙여야 합니다. 물론 최근에는 기본으로 보호되어 이렇게 해야 하지만, 구버전 rm은 기본값이 보호되지 않는 것이기 때문에 저 옵션을 붙이지 않아도 시원하게(!) 날아갑니다. 참고로 --preserve-root라는 옵션도 있습니다. 이 옵션은 루트 디렉터리를 보호합니다. 단, 루트 디렉터리의 하위 디렉터리라면 중요한 것이라도 보호하지 않습니다.

--no-preserve-root 를 붙이기가 귀찮다면, 그냥 'rm -rf /*'라고 써도 됩니다.

mv /* Edit

루트에서 모든 파일과 디렉터리를 오름차순으로 정렬하였을 시의 마지막 디렉터리로 이동합니다. - 그 마지막이 디렉터리가 아니면 이 명령어는 무효입니다.

예를 들면 다음과 같은 식으로 루트 디렉터리가 나오면...

#ls /
bin boot dev etc home lib lib64 root proc sbin selinux sys tmp usr var
#mv /*

이것을 시전하였을 시 bin, boot, dev, etc, home, lib, lib64, root, proc, sbin, selinux, sys, tmp, usr가 모두 var로 이동합니다. 그렇다면 bin, sbin, etc 등의 경로가 바뀌었으니 어떻게 할 수가 없겠지요... 아, 물론 재이동하면 복구는 가능합니다. 하지만 함부로 명령을 날리지 마세요.

bash: mv: command not found...

그러니까, 복구를 하더라도 /var/bin/mv를 이용해야 하는 웃지 못할 사태가 생기겠군요.

주의: 실험한 적이 없습니다. 이 짓을 하다가 무슨 일이 생겨도 책임 안 집니다.

chmod -R 000 / Edit

모든 파일과 디렉터리의 권한을 000으로 바꿔버립니다.

일부는 suid같은 것이 붙어있거나, 그렇지 않아도 기본 권한이 다르니 곤란하겠군요. 게다가...

bash: chmod: permission denied

이렇게 되니, mv와는 달리 그 자리에서 복구할 수 없습니다. 라이브 cd를 넣든지 해서 해결할 수 있을까요? 하지만 일부 파일의 기본 권한을 일일이 살펴봐야 한다는 점 때문에 차라리 재설치하는 것이 나은 방법입니다. 뭐, 대부분은 644겠지만요.

껐다 켜가 먹히는 방법 Edit

아래 방법들은 애석하게도(!) 껐다켜가 먹힙니다. 대신 일반 사용자도 가능하니, 남의 서버에서 이 짓 하다가 쫓겨나지 마세요. 그리고 사태가 너무 심각해지면 껐다 켜도 안 먹힐 수도 있습니다. 제발, 악의적인 목적으로 사용하지 마세요. 그래도 꼭 그렇게 사용하는 놈들이 있더라.

아래 방법들은 프로세스를 무한정 생성하여 컴퓨터를 난처하게 만드는 경우입니다. 현재 커널 옵션에는 생성되는 프로세스 수를 제한하는 것이 들어있다고 하더군요.

while [ true ]; do fork; done; Edit

셸 스크립트입니다. fork(자식 프로세스 생성)을 무한으로 하는 것이죠. 이 방법을 쓰면 프로세스가 마구 생성되어 리눅스가 멍해지지만, 재미 없게도 ctrl+C 한 방으로도 제압할 수 있습니다. 부모 프로세스가 죽으면 자식 프로세스들도 다 죽어버리거든요. 아니면 셸을 닫아버리시거나...

bomb(){ bomb|bomb& };bomb Edit

이것을 흔히 포크 밤(Fork Bomb)이라 부릅니다. 유명한 방법 중 하나죠. 여기에서는 bomb라는 함수를 우선 선언합니다. 이 함수는 자신을 호출하여, 그 결과값을 자신에게 넘겨줍니다. 이 과정에서 또 자기 자신을 부르겠지요? 그리고 이것이 한 번 실행되고 그대로 끝나지 않고 프로세스로 남아있도록 백그라운드로 실행합니다. 쉽게 말해 자가 호출입니다. 그러니까 재귀 함수를 이용하는 것입니다.

될 듯 되지 않는 방법 Edit

kill -9 1 Edit

구버전 솔라리스에서 이 명령이 먹혔다고 합니다. 하지만 리눅스는 이 명령을 내려도 아무 일도 일어나지 않습니다. killall init, killall systemd(Fedora) 역시 마찬가지입니다. 이 방법은 재부팅을 하면 됩니다.

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

Also on FANDOM

Random Wiki