The rm -rf
는 DROP와 유사한 하나의 Bash 명령입니다.SQL 명령어. 데이터베이스 테이블의 복제본(백업)이 없으면 모든 데이터를 잃게 됩니다.
rm -rf는 루트 권한 없이 호출될 때 사용자가 액세스할 수 있는 모든 폴더를 제거하는 명령입니다. 루트 권한으로 호출하면 하드 드라이브가 지워집니다.
이 코드를 프로덕션 서버에서 실행하는 실수를 저지른 것은 운이 없었지만 모든 사람이 운이 좋았던 것은 아닙니다. 다음은 몇 가지 흥미로운 rm -rf 공감할 수 있는 이야기입니다.
1. Thomas와 CLI 기반 쓰레기 프로그램
Thomas는 대학 Unix 연구실에서PuTTY + RealVNC.
그의 프로젝트는 간단했습니다. "trash" 파일 경로 목록을 가져와~/.trash
디렉토리. 그런 다음 디렉토리에서 rm을 실행하는 “휴지통 비우기"를 수행할 수 있습니다. 그는 첫 번째 부분을 완료하고 빈 명령을 완료하고 있었습니다.
어떻게든 그는 제거 경로를 /
로 남겨둔 잘못된 변수를 설정했고 sudo 액세스 권한을 가졌습니다. 그가 처음에 코드를 실행했을 때 아무 일도 일어나지 않았지만 얼마 지나지 않아 결함이 생기고 정적으로 표시되기 시작했습니다. Ctrl + C 도움이 되지 않았습니다. 다음으로 모니터에 아무것도 표시되지 않고 연결이 끊겼습니다.
그의 코드는 sudo rm-rf /
를 실행하여 서버의 모든 데이터를 지웠습니다. 운 좋게도 Thomas는 부서의 테스트 서버에서 작업 중이었고 백업 디스크에서 데이터를 복구할 수 있었습니다. 그는 입학 허가를 잃지 않았습니다.
2. 백업 세션 중 깨끗한 지우기
Alex는 스크립트를 통해 시스템을 백업하는 회사의 네트워크 관리자였습니다. 운명적인 Friday에 그는 rm -rf ${DIRECTERY}/
텍스트로 스크립트를 업그레이드했습니다. 대신
rm -rf ${DIRECTORY}/ – 명령 업데이트를
rm-rf${DIRECTERY}가 빈 문자열이 되었기 때문입니다.
백업 세션은 그날 밤 늦게 시작되었고 Alex가 알기도 전에 네트워크의 모든 시스템이 깨끗이 지워졌습니다! 운 좋게도 회사는 파일을 매시간 백업하므로 많은 피해가 발생하지 않았습니다.그럼에도 불구하고 바쁜 주말이었습니다. 백업 작업으로 시스템이 완전히 지워진다는 것은 참 아이러니하죠?
삼. 자동 재귀 클리너
한 번 Eric 파일 서버에서 작업 중이었고 매주 일부 파일을 자동으로 정리하려고 했습니다. 그는 자신의 라인을 계획하고 상대적으로 오래된 파일만 제거할 목적으로 테스트했습니다. 그의 작업은 하나의 디렉토리에 있었기 때문에 아무 것도 잘못될 수 없다고 생각했습니다. 글쎄, 그는 나중에 자신이 잘못 추측했음을 알게 되었습니다.
그는 다음 명령을 실행했고 작동했습니다. 다음으로 그는 crontab에 수동으로 줄을 추가했으며 실수로 .
을 /로 바꿨습니다. .
찾기 . -유형 f -이름-ctime -60 -exec rm -rf {} \;
일주일 후로 빨리 감아 상당한 수의 파일이 사라졌습니다. 더군다나 무작위 패턴으로 삭제되어 회사가 해킹당했다고 생각하고 코드 확인을 해보니 자신이 해커라는 사실을 깨달았습니다.
다행히도 그는 매일 외부 백업을 유지하여 실수를 고칠 수 있었습니다. 그날 이후로 그는 관리자 권한으로 실행하는 명령에 매우 주의를 기울였을 것입니다.
위의 이야기에 존재하는 2가지 주요 요점은 1, 항상 코드와 가능한 결과를 다시 확인하고 2, 항상 백업을 가능한 한 최신 상태로 유지하십시오. 그것들은 유용할 것입니다.
당신은 경험이나 다른 곳에서 미친 rm -rf 이야기를 알고 있습니까? 의견 섹션에서 우리와 공유하십시오.