리눅스에서 root에서만 변경가능한 파일을 만들고 싶을때 chattr을 사용합니다.
권한만 root로 바꾸고 다른 계정에 읽기 권한을 준다면 해당 파일은 vi에서 w!(강제저장)으로 파일이 변경됩니다.
chattr : 파일의 속성을 설정하는 명령어
lsattr : 파일을 속성을 확인하는 명령어
chattr의 간단한 사용방법
chattr [-RV] [-v] [+-속성] 대상파일들
[+-속성]
+ : 지정한 속성을 부여한다.
- : 지정한 속성을 제거한다.
[-RV]
-R : 서브디렉토리 그이하까지 일괄 변환합니다ㅣ.
-V: 자세한 출력모드를 제공합니다.
[-v]
-v : 지정된 파일에 버전을 설정할수있습니다.
속성의 종류
a: 파일에 추가만 할수있는 속성이빈다. 일반적으로 로그에 주로사용합니다. 삭제는 안되지만 추가는 가능합니다.
*아무나 삭제하면 안되지만 계속 기록은 되어야하는 로그파일 설정에 주로쓰입니다.
c: 커널에 의해서 압축된 상태로 저장이 된다. 파일을 읽을경우에는 해제된상태로 되고 저장하기전에는 다시압축하는 방법입니다.
d: dump로 백업이 되지 않습니다.
i: 파일의 삭제 변경,이름변경, 파일추가 및 링크파일도 만들수없습니다.
*삭제가 되면 안되는 시스템 설정파일등에 주로 활용되빈다.
s: 파일삭제가 될경우 해당블럭을 모두 0으로 만들고 새로 디스크에 다시씁니다.
u: 파일이 삭제되었을경우 그내용이 저장이 되며 삭제되기전에 데이터로 복구가 가능해집니다.
예시
1. 특정 파일에 대하여 파일삭제 ,변경,추가등을 불가능하게 설정합니다.
$ lsattr test.test
-------------- test.test
일반적인 파일입니다.
$ chattr +i test.test
$ lsattr test.test
---i---------- test.test
i 속성이 지정 되었다.
$ rm -rf test.test
rm: cannot remove `test.test': Operation not permitted
삭제가 불가능합니다.
2. i 속성을 제가해서 파일삭제,변경,추가가 가능하게 합니다.
$ chattr -i test.test
$ lsattr test.test
-------------- test.test
i 속성을 제거하였다.
$ rm -rf test.test
삭제가 가능합니다.
3. 삭제는 안되지만 추가는 할수있는 속성 설정
$ chattr -i test.test
4. 폴더내에 모든 파일들을 일괄 설정 및 제거
$ chattr -R +i folder
$ lsattr -R folder | more
..
$ chattr -R -i folder
$ lsattr -R folder | more
..
'리눅스' 카테고리의 다른 글
리눅스 프로세스 별 메모리 사용량 확인 (0) | 2016.01.07 |
---|---|
리눅스 비빌번호 변경 주기 설정하기 (0) | 2015.10.21 |
리눅스에서 tshark사용하여 패킷 캡쳐하기 (0) | 2015.02.06 |
리눅스 glibc Ghost 보안취약점 (CVE-2015-0235) (0) | 2015.02.03 |
[우분투] 설치된 패키지 및 버전 확인 (0) | 2015.02.03 |