리눅스에는 root 권한일지라도 파일을 옮기거나 삭제되지 않도록 보호시킬 수 있는 기능이 있습니다
실수로 지우거나 다른경로로 옮겨져서 찾기가 어렵거나 하는 일이 발생되지않도록 할 수 있습니다
저같은 경우 마우스 드래그 잘못해서 엉뚱한 폴더에 옮겨지는일도 다수있고
손가락이 제멋대로움직여 삭제시키거나 다른경로로 파일을 옮긴다던가 파일명을 이상하게 변경하여 못찾는경우도 있었기에.. 공유드립니다
chattr 라는 명령으로 가능합니다.
우선은 chattr 을 알기 전에 lsattr 명령어 부터 알고 가시죠
lsattr 디렉토리&파일명 을 입력하시면 디렉토리 혹은 파일에 걸려 있는 속성을 알 수 있습니다.
/home/사용자명/다운로드/hamonikr.iso 파일이 있습니다
ls -al 보면 r--r--r-- 속성은 이렇게 보일겁니다
lsattr은 chattr 을 이용해 속성을 부여한 값을 보는 명령입니다.
root@joon-900X5N:/home/joon/다운로드# lsattr vc_redist.x86.exe
--------------e----- vc_redist.x86.exe
이런형태입니다
이 파일을 삭제되지않고 옮겨지지도 않게 하려면
chattr +i vcredist.x86.exe 입력합니다
다시 lsattr 으로 확인하면
root@joon-900X5N:/home/joon/다운로드# lsattr vcredist.x86.exe
----i---------e----- vcredist.x86.exe
i 옵션이 추가된것을 확인할 수 있습니다. 제거는 root 계정에서만 가능하며
chattr -i 파일명 또는 폴더명 으로 가능합니다
아래는 옵션 값들입니다.
chattr [옵션] [+.-.=속성] [파일명]
[옵션]
-R : 하위 디렉토리까지 재귀적으로 바꿈
-V : 파일 속성을 바꾼 다음에 보여줌
-v version : 지정된 파일에 버전을 설정할 수 있습니다.
[설정모드]
+ : 속성을 추가한다.
- : 속성을 제거한다.
= : 원래 파일이 가지고 있던 그 속성만을 유지하게 합니다.
[속성]
a : 파일을 추가모드로만 열수 있다. 단, vi 편집기로는 내용을 추가 할 수 없게 된다.
c : 압축되어 있는 상태로 저장함.
d : dump 명령을 통하여 백업받을 경우 백업받지 않습니다.
i : 파일을 read-only로만 열 수 있게 설정합니다. 링크로 허용하지 않고
루트만이 이 속성을 제거 할 수 있습니다.
s : 파일 삭제가 될 경우에 디스크 동기화가 일어나는 효과가 발생합니다.
S : 파일이 변경 될 경우에 디스크 동기화가 일어나는 효과가 발생합니다.
u : 파일이 삭제가 되엇을 경우에는 그 내용이 저장이 되며 삭제되기 전의 데이터로 복구가 가능해 집니다.
아래는 해당 내용 출저 주소 입니다.
출처: https://itmore.tistory.com/entry/리눅스-chattr-옵션사용법-전체-디렉토리-삭제-방지-및-해킹-방지 [IT모아]