<?xml version='1.0' encoding="UTF-8"?>
<?xml-stylesheet href="/xsl/guide.xsl" type="text/xsl"?>
<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
<guide type="newsletter">
<chapter>
<title>팁과 트릭</title>
<body>
    <p class="secthead">파일 속성 변경</p>
<p>
이번주 팁에서는 <c>chattr</c>를 사용해서 중요한 시스템 파일을 안전하게 보관하는 방법을 설명한다.
동시 수정, 파일 보안 강화 등의 목적으로 "속성 변경" 명령어 또는 <c>chattr</c>은 파일 속성을 추가하거나 바꾸는 데 사용할 수 있다.
그러나 이 명령은 ext2나 ext3 파티션에서만 사용할 수 있다.
</p>
<p>
일반 속성과 관련있는 플래그는 아래에 있다. 전체 옵션은 <c>man chattr</c>를 참조하라.
    <ul>
        <li> (A) atime 수정하지 않음</li>
        <li> (S) 동시 수정</li>
        <li> (a) 추가만 허용</li>
        <li> (d) dump 하지 않음</li>
        <li> (i) 변경할 수 없음</li>
        <li> (j) 데이터 저널링</li>
        <li> (t) 마지막에 추가 없음</li>
    </ul>
    <note>
    	'j' 옵션은 ext3에서만 사용할 수 있다.
    </note>
    <note>
    	'j', 'a' 그리고 'i' 옵션은 슈퍼유저만 사용할 수 있다.
    </note>
</p>
<p>
먼저 e2fsprogs를 병합하여 chattr을 설치했는지 확인한다.
</p>
<pre caption="필요한 파일 설치">
# <i>emerge e2fsprogs</i>
</pre>
<p>
파일 속성을 변경하려면 <c>chattr</c>명령을 사용하고 속성을 보려면 <c>lsattr</c> 명령을 사용한다.
</p>
<pre caption="chattr과 lsattr 사용 예">
<codenote>수정불가(immutable) 비트를 설정하면 파일을 변경하거나 삭제할 수 없다.</codenote>
# <i>chattr +i myfile</i>
# <i>lsattr myfile</i>
----i-------- myfile
<codenote>수정불가 플래그를 사용하여 파일 삭제 시도</codenote>
# <i>rm myfile</i>
rm: cannot remove `myfile': Operation not permitted
<codenote>myfile을 추가만 허용(append-only)으로 설정</codenote>
# <i>chattr +a myfile</i>
# <i>lsattr myfile</i>
-----a------- myfile
# <i>echo testing > myfile</i>
myfile: Operation not permitted
# <i>echo testing >> myfile</i>
<codenote>에러 아님 - 파일에 추가 됨</codenote>
</pre>
<p>
제시된 예는, 중요한 파일이 삭제되지 않고 안전하게 관리하는데 유용하다.
속성을 명시적으로 제거하지 않으면 root도 수정불가 또는 추가만 허용으로 설정된 파일을 지울 수 없다는 점을 기억하라.
<path>/etc/passwd</path>나 <path>/etc/shadow</path>에 이 플래그를 사용하면 실수로 <c>rm -f</c>를 실행했을 때
파일을 안전하게 유지할 수 있고 침입시에 새로운 사용자 계정이 추가되는 것을 막을 수 있다.
다른 파일을 수정전용으로 설정하면, 한번 쓰여진 데이터가 변경되지 않게 할 수 있다. 로그가 좋은 예가 될 수 있다.
여러분에게 시스템을 안전하게 관리할 수 있는 훌륭한 툴 - <c>chattr</c>과 <c>lsattr</c>이 생겼다.
</p>
</body>
</chapter>
</guide>
 
powered by MoniWiki Powered by FreeBSD DNS Powered by DNSEver.com
last modified 2003-04-08 19:49:05
Processing time 0.0353 sec