본문으로 바로가기

lsattr / chattr CMD 사용법

category Security/Linux Server 2017. 12. 28. 22:02

- lsattr CMD

lsattr은 설정된 정보를 출력한다. 


# cd /test ; rm -rf file* ; touch file1

# lsattr file1

 

 ------------- file1

 


- chattr CMD

chattr은 접근 제한 설정을 한다. 

-a  : 추가 가능 >>  vi 명령어로는 바꿀 수 없고  echo >> 로 추가한다.

-i  :  추가 불가 


- 사용법


# cd /test

# cp -p /etc/inittab /test


# chattr +a inittab

# lsattr inittab

 

 -----a------- file1

 


# echo "aaa" >> inittab    ( 추가 가능 )


# vi inittab     ( 추가 / 수정 불가 )


# mv inittab inittab.old    ( 이름 변경 불가 )


# rm -f inittab    ( 삭제 불가 )


# chattr -a inittab

# chattr -i inittab

# lsattr inittab

 

 ----i-------- file1

 


# echo "aaa" >> inittab    ( 추가 불가 )


# vi inittab     ( 추가 / 수정 불가 )


# mv inittab inittab.old    ( 이름 변경 불가 )


# rm -f inittab    ( 삭제 불가 )


# chattr -i inittab



[참고] chattr 은 root 권한으로도 수정 삭제가 불가능 하므로 파일에 지정이 되어있으면 특정 명령어가 동작 하지 않을 수 있다. 

EX) passwd 명령어는      /etc/passwd 파일과 /etc/shadow 파일을 사용하지만 이 두 파일에 chattr +a 나 +i 설정이 되어있으면 수행할 수 없다.


사용자나 root도 함부로 바꾸지 못하게 하기 위해서는 

# vi passwd.sh

 

 #!/bin/bash


chattr -i /etc/passwd

chattr -i /etc/shadow


/usr/bin/passwd.old $*


chattr +i /etc/passwd

chattr +i /etc/shadow

 

> 기존의 passwd 명령어를 .old 로 바꾸고 chattr -i 명령어로 잠깐 설정을 풀고 기존의 명령어를 실행한 후 다시 chattr +i 로 설정하면 된다.