TIP게시판

제목 리눅스 폴더 삭제 금지 방법
글쓴이 kaido 작성시각 2018/02/02 13:04:21
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 2136   RSS

안녕하세요 오늘도 열일 중인 kaido 입니다.

 

이번에 작업 하면서 다른 작업자와 같이 작업 하다보니, git 으로 패치하다 보니 자꾸 폴더가 삭제되는 문제에 직면해서

폴더 삭제 금지 방법이 없나? 하고 찾아보게 되다 찾아본 명령어입니다.

해당 폴더 밑에 파일을 읽기 쓰기 실행은 다되는데 설정된 폴더만 삭제 방지 하는 방법 입니다.

아시는 분들은 아실지도 아시겠지만요. ㅎㅎ

 

 

chattr의 사용형식은 다음과 같습니다.

명령어위치 : /usr/bin/chattr

사용형식 : chattr [-RV] [-v 설정버전] [+-=설정모드] 대상파일들

chattr에서 사용하는 [설정모드]는 다음과 같습니다.

+ : 지정한 속성을 부여합니다. +기호가 사용되면 지정한 속성을 부여한다는 의미입니다. : 지정한 속성을 제거합니다. -기호가 사용되면 부여된 속성을 제거한다는 의미입니다. : 원래 파일이 가지고 있던 그 속성만을 유지하게 합니다.

그리고 chattr에서의 -RVv옵션에 대한 설명은 다음과 같습니다.

-R : 서브디렉토리이하까지 그 속성을 변경할 수 있습니다.

-V : 자세한 출력모드를 제공합니다.

-v version : 지정된 파일에 버전을 설정할 수 있습니다. 

 

또한 chattr명령어에서 무엇보다 중요한 것은 각 속성을 정확하게 이해하는 것입니다. 즉, chattr로 설정할 수 있는 파일(디렉토리)의 속성에는 다음과 같은 것들이 있습니다. 아래 각 속성의 의미를 정확하게 이해하시고 여러분들께서 관리하고 계시는 리눅스서버의 파일보안을 위하여 chattr로 설정(+)하시거나 또는 제거(-)하실 수 있습니다. 아래 속성의 의미를 파악하신 후에 이어지는 실제 사용예들을 보시기 바랍니다.

a 속성 해당 파일을 추가만 할 수 있습니다. 당연히 root만이 속성변경이 가능합니다. 파일보안을 위해 주로 사용하는 속성입니다.

c 속성 이 속성이 설정된 파일은 커널에 의해 디스크상에 자동적으로 압축된 상태로 저장이 되어 있습니다. 파일을 읽을 경우에는 압축을 해제한 상태로 되돌려주며 쓰기시에는 디스크에 저장하기 전에 파일을 압축합니다.d 속성이 속성이 설정된 파일은 dump로 백업이 되지않습니다.

i 속성이 속성이 지정되어 있다면 해당파일의 변경, 삭제, 이름변경뿐 아니라 파일추가및 링크파일도 만들 수 없게 됩니다. 변경추가가 거의 없는 부팅관련 파일들에 설정하면 부팅이 되지않는 문제로 인한 시스템장애를 줄일 수 있습니다.또한 a 속성과 함께 필자가 주로 사용하는 속성이기도 합니다.

s 속성 이 속성이 설정된 파일은 파일삭제가 될 경우에 해당블럭이 모두 0으로 되어 버리고 디스크에 다시 쓰기가 발생합니다.

 

S 속성 이 속성이 설정된 파일은 변경이 될 경우에 디스크동기화가 일어나는 효과를 그대로 누릴 수 있습니다.

속성이 속성을 가진 파일이 삭제가 되었을 경우에는 그 내용이 저장이 되며 삭제되기 전의 데이터로 복구가 가능해집니다.

따라서 chattr로 파일과 디렉토리의 속성을 지정하는 주된 이유는 허가되지않은 사용자가 파일의 변경을 못하게하는 설정을 하여 파일보안을 하기위한 것입니다.

 

 

쉽게 이야기 해서 삭제 금지는 이렇습니다.

 

chattr +i 폴더명

설정을 해제하고 싶으면

chattr -i  폴더명

 

rm -rf 으로도 삭제가 안됩니다.

 

혹여 지워지면 안되는 시스템 폴더나 작업 폴더가 있다면 먼저 chattr +i 로 설정해 주면 

실수로 지워지는 일이 없다고 하네요. ㅎㅎ

 다음글 base_url 자동 세팅 (1)
 이전글 eclipse Oxygen (4.7.0) PDT 설치 ... (3)

댓글

한대승(불의회상) / 2018/02/07 14:12:38 / 추천 0

좋은 정보 감사합니다.

조만간 필요해질것 같습니다.

파일도 삭제가 안되나요?

kaido / 2018/02/08 22:12:49 / 추천 0
넵 설정을 걸어놓으면 삭제가 안됩니다