검증이 필요합니다. 작성자가 리눅스 자폭하기 문서의 내용을 제대로 테스트하지 않고 써서 잘못된 지식을 서술했을 가능성이 조금 있습니다. 여러분이 나서서 검증해주세요. |
껐다 켜도 안 되는 방법[]
rm -rf /[]
모든 파일과 디렉터리를 날려버리는 기능 - 현재는 --no-preserve-root을 사용해야 합니다.
현재는 rm -rf / --no-preserve-root을 붙여야 합니다. 물론 최근에는 기본으로 보호되어 이렇게 해야 하지만, 구버전 rm은 기본값이 보호되지 않는 것이기 때문에 저 옵션을 붙이지 않아도 시원하게(!) 날아갑니다. 참고로 --preserve-root라는 옵션도 있습니다. 이 옵션은 루트 디렉터리를 보호합니다. 단, 루트 디렉터리의 하위 디렉터리라면 중요한 것이라도 보호하지 않습니다.
--no-preserve-root 를 붙이기가 귀찮다면, 그냥 'rm -rf /*'라고 써도 됩니다.
mv /*[]
루트에서 모든 파일과 디렉터리를 오름차순으로 정렬하였을 시의 마지막 디렉터리로 이동합니다. - 그 마지막이 디렉터리가 아니면 이 명령어는 무효입니다.
예를 들면 다음과 같은 식으로 루트 디렉터리가 나오면...
#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 /[]
모든 파일과 디렉터리의 권한을 000으로 바꿔버립니다.
일부는 suid같은 것이 붙어있거나, 그렇지 않아도 기본 권한이 다르니 곤란하겠군요. 게다가...
bash: chmod: permission denied
이렇게 되니, mv와는 달리 그 자리에서 복구할 수 없습니다. 라이브 cd를 넣든지 해서 해결할 수 있을까요? 하지만 일부 파일의 기본 권한을 일일이 살펴봐야 한다는 점 때문에 차라리 재설치하는 것이 나은 방법입니다. 뭐, 대부분은 644겠지만요.
껐다 켜가 먹히는 방법[]
아래 방법들은 애석하게도(!) 껐다켜가 먹힙니다. 대신 일반 사용자도 가능하니, 남의 서버에서 이 짓 하다가 쫓겨나지 마세요. 그리고 사태가 너무 심각해지면 껐다 켜도 안 먹힐 수도 있습니다. 제발, 악의적인 목적으로 사용하지 마세요. 그래도 꼭 그렇게 사용하는 놈들이 있더라.
아래 방법들은 프로세스를 무한정 생성하여 컴퓨터를 난처하게 만드는 경우입니다. 현재 커널 옵션에는 생성되는 프로세스 수를 제한하는 것이 들어있다고 하더군요.
while [ true ]; do fork; done;[]
셸 스크립트입니다. fork(자식 프로세스 생성)을 무한으로 하는 것이죠. 이 방법을 쓰면 프로세스가 마구 생성되어 리눅스가 멍해지지만, 재미 없게도 ctrl+C 한 방으로도 제압할 수 있습니다. 부모 프로세스가 죽으면 자식 프로세스들도 다 죽어버리거든요. 아니면 셸을 닫아버리시거나...
bomb(){ bomb|bomb& };bomb[]
이것을 흔히 포크 밤(Fork Bomb)이라 부릅니다. 유명한 방법 중 하나죠. 여기에서는 bomb라는 함수를 우선 선언합니다. 이 함수는 자신을 호출하여, 그 결과값을 자신에게 넘겨줍니다. 이 과정에서 또 자기 자신을 부르겠지요? 그리고 이것이 한 번 실행되고 그대로 끝나지 않고 프로세스로 남아있도록 백그라운드로 실행합니다. 쉽게 말해 자가 호출입니다. 그러니까 재귀 함수를 이용하는 것입니다.
될 듯 되지 않는 방법[]
kill -9 1[]
구버전 솔라리스에서 이 명령이 먹혔다고 합니다. 하지만 리눅스는 이 명령을 내려도 아무 일도 일어나지 않습니다. killall init, killall systemd(Fedora) 역시 마찬가지입니다. 이 방법은 재부팅을 하면 됩니다.