OS

2022.02.16 16:39

centos 환경에서의 rm -rf 의 위험성

  • 비아웹 오래 전 2022.02.16 16:39 인기
  • 6,285
    0

nux 서버를 사용하시다 보면

rm -rf ./ 라는 command 를 사용하시는 경우가 상당히 많습니다.

의미는 현재 폴더 아래를 지우라는 명령어입니다.

 

그렇지만 저 command 를 입력하시다가

rm -rf . / ## ./ 가 아닌 . / 로 확인하기 어려운 공백이 포험되어 있습니다.

위에 처럼 입력하신다면, 돌이킬 수 없는 사고가 터진다는 것으로 알고 있을겁니다.

 

centos 5 /6 / 7 환경에서의 rm --help 를 살펴 보겠습니다.

CentOS 5

 

CentOS 6

 

CentOS 7

 

위의 OS 버전별 rm help 파일의 차이를 발견하셨나요?

CentOS 5의 경우 -no-preserve-root 가 default 이고,

CentOS 6/7의 경우 preserve-root 가 default 설정으로 되어 있습니다.

 

preserve-root 가 뭘까요?

단어 뜻 그대로 입니다. root를 보존한다.

rm 으로 부터 root 를 보존한다. 여기서 root 는 /root 가 아닌 시스템의 / 입니다.

 


CentOS 5 환경에서는 rm -rf / 를 하는 경우 아래와 같이 아주 잘 삭제됩니다.

CentOS 7 환경에서는 아래와 같이 삭제가 되지 않습니다.

 
강제로 삭제를 원하시는 경우
rm -rf ---no-preserve-root /

의 형태로 명령어를 입력하셔야 합니다.

물론 업무상 사용하실 일이 없는게 정상입니다.

 

rm 명령어는 coreutils 패키지에 설치된 명령어이며,

서버를 운영하시는 분들이라면 rm --help 를 통해서 현재 서버의 default 설정을 확인해 보시기 바랍니다.

 

해당 설정이 적용되어 있지 않다고 하시면 /etc/bashrc 또는 /root/.bashrc 에 아래의 내용을 추가하셔서

사고를 예방하시기 바랍니다.

alias rm='rm -i --preserve-root *'

rm command 의 위험성에 대해 적었는데, 결론은

CentOS 6 이후의 환경에서는 예방이 되어 있다가 되었습니다.

 

그렇지만, 사실상 이 글의 목적은 rm command 의 위험성에 대한 부분 보다

최신의 OS 를 사용하시는 것이 보안상 더 안전하다는 것에 대해 안내드리기 위해 작성되었습니다.

그 전까지는 운영자가 책임져야 했는 command 상의 위험성을 OS 에서 방지해 놨듯이,

최신의 OS 에서는 각종 버그 및 오류에 대한 수정이 이루어져 있으니,

최신 OS 를 사용하시고, 업데이트에 대해서도 주기적으로 확인하시기 바랍니다.

 

감사합니다.

서버호스팅 비아웹


 

  • 공유링크 복사
  • 이전글CentOS6 yum update 설정2022.02.16
  • 다음글[CentOS]route 추가 하기2022.02.16
  • 댓글목록

    등록된 댓글이 없습니다.