2008. 4. 1.

linux chattr, lsattr

chattr, lsattr

루트도 지우지 못하는 파일을 설정한다.

chattr [옵션] [+=-속성] [파일명]

[옵션]
-R : 하위 디렉토리까지 재귀적으로 바꿈
-V : 파일속성을 바꾼 다음에 보여줌
-v version : 지정된 파일에 버전을 설정할 수 있습니다.

[설정모드]
+ : 속성을 추가한다.
- : 속성을 제거한다.
= : 원래 파일이 가지고 있던 그 속성만을 유지하게 합니다.

[속성]
a : 파일을 추가모드로만 열수 있다. 단, vi 편집기로는 내욜을 추가 할 수 없습니다.
c : 압축되어 있는 상태로 저장함.
d : dump 명령을 통하여 백업받을 경우 백업받지 않습니다.
i : 파일을 read-only로만 열 수 있게 설정합니다. 링크로 허용하지 않고 루트만이 이 속성을 제거 할 수 있습니

다.
s : 파일 삭제가 될 경우에 디스크 동기화가 일어나는 효과가 발생합니다.
S : 파일이 변경 될 경우에 디스크동기화가 일어나는 효과가 발생합니다.
u : 파일이 삭제가 되었을 경우에는 그 내용이 저장이 되며 삭제되기 전의 데이터로 복구가 가능해 집니다.


※ lsattr 이라는 명령으로 파일의 chattr 속성을 확일 할 수 있다.

ex)

1. 파일의 삭제, 변경, 추가 등을 불가능하게 하는 속성 설정하기
[root@imsi root]# touch test
[root@imsi root]# lsattr test
------------test
[root@imsi root]# chattr +i test
[root@imsi root]# lsattr test
----i-------test
[root@imsi root]# rm -rf test
rm: cannot remove 'test': 명령이 허용되지 않음


2. 파일의 삭제는 불가능하지만 내용추가는 가능하도록 하는 속성설정하기
[root@imsi root]# chattr +a /var/log/messages
----a-------/var/log/messages
[root@imsi root]# tail -f /var/log/messages

3. 특정 디렉토리내의 모든 파일과 디렉토리에 대하여 한번에 속성부여하고 확인하기
[root@imsi root]# ls -lR Shell
[root@imsi root]# ls -R -i Shell
[root@imsi root]# lsattr -R Shell | more

4. 속성 제거하기
[root@imsi root]# lsattr test
------------test
[root@imsi root]# chattr -i test
[root@imsi root]# lasttr test
----i--------test
[root@imsi root]# rm -rf test


5. 특정 디렉토리내의 모든 파일과 디렉토리에 대하여 한번에 속성 제거하기
[root@imsi root]# tail -f /var/log/messages

6. 여러가지 속성을 한번에 설정하기

[root@imsi root]# lsattr test
-------------test
[root@imsi root]# chattr +aisSu test
[root@imsi root]# lsattr test
suS-ia-------test
[root@imsi root]# rm -rf test
rm: cannot remove 'test': 명령이 허용되지 않음

댓글 없음: