파일시스템의 파일 속성을 변경하여 관리자도 실수로 파일을 손상시키지 않도록 보호한다.

사용법 : chattr [옵션] 속성파일... 
-R : 디렉토리와 그 이하 모든 속성을 변환시킨다. 
-V : 변화된 속성에 대하여 자세히 출력한다. 
-v : 버전을 볼 수 있다. 
a : 파일을 추가모드로만 열 수 있다. 
c : 커널에 의해 디스크 상에 압축 상태로 저장된다. 
d : dump 명령 수행 시 백업되지 않는다. 
I : 파일을 수정할 수 없다. 오직 수퍼유저만이 다시 이 속성을 변경 가능하다. 
s : 파일이 지워질 때 일단 블럭들이 모두 0이 된 다음 디스크에 기록된다. 
S : 파일이 수정될 때 그 변화가 디스크 상에 동기화된다. 
u : 파일이 지워지면 내용이 저장된다.

파일시스템에서의 파일 속성을 변경하는 명령어이다. 보호되어야만 하는 파일들을 실수로 지우거나 덧쓰는 경우가 없도록 하도록 하기 위한 방편이다.
+ 속성은 파일에 속성을 추가하고, - 속성은 파일에서 속성을 제거한다. = 속성은 파일이 오로지 주어진 속성만 갖도록 한다.
chattr +i 옵션으로 /etc/passwd에 i 속성을 부여해보자. 이는 파일을 지울수도 이름을 변경할 수도 내용을 추가할수도, 링크를 생성할 수도 없다.

# chattr +i /etc/passwd 

lsattr 명령으로 변경된 속성들을 확인할 수 있다.

# lsattr /etc/passwd 
---i---------- /etc/passwd 

+i 속성이 부여된 /etc/passwd 파일을 삭제해 보자. 속성을 제거하기 전까지는 이를 삭제할 수는 없다. 마찬가지로 파일 내용 변경도 불가능하다. vi 에디터로 파일을 열어도 읽기전용으로 수정이 불가능하게 되는 것이다.

# rm -rf /etc/passwd 
rm: cannot unlink /etc/passwd': Operation 
not permitted 

그럼, 이 -i 속성을 /etc/passwd 파일에서 제거해 보자.

# chattr -i /etc/passwd 
# lsattr /etc/passwd 
-------------- /etc/passwd 

이후에는 이 파일을 수정하거나 제거할 수 있다.

[관련 명령어]
lsattr 리눅스 파일시스템의 파일 속성을 보는 명령어
2005/06/21 21:10 2005/06/21 21:10
일일히 패스워드 파일 등을 변경하지 않고도 finger 명령어를 사용했을 때 볼 수 있는 사용자 기본 정보를 변경하는 명령이다.

사용법 : chfn [옵션] 사용자이름 
사용자이름 : 정보를 변경하고 싶은 사용자 이름. 공백일 경우 자신의 계정 정보가 변경 된다. 
-f, --full-name : 사용자 전체 이름 변경을 변경한다. (사용자 계정과 다름) 
-h, --home-phone : 사용자 집 전화번호 변경한다. 
-o, --office-phone : 사용자의 직장 전화번호를 변경한다. 
-p, --office-phone : 사용자의 직장 전화번호를 변경한다. 
-u, --help : 도움말을 보여준다. 
-v, --version : 버전 정보를 보여준다. 

등록되어 있는 사용자의 정보를 변경할 때 사용한다. 서버의 관리자라면 계정으로 등록된 사용자의 정보를 변경할 때 사용할 수 있다. chfn 명령은 /etc/passwd에 저장된 정보를 변경하므로 텍스트 에디터로 이 파일을 열어 변경해 주어도 된다.
finger 명령으로 사용자 정보를 확인할 수 있다.
관리자가 사용자의 정보를 변경 하고자 할 경우 다음과 같이 한다. 여기에서는 songsari라는 사용자의 정보를 바꾸어 보도록 하겠다.

# chfn admin 
Changing finger information for songsari 
Name [송사리] : 홍길동 -> 이름변경 
Office[Nfoz.net] : Nfozone -> 직장변경 
Office Phone[] : 02-1234-1234 -> 직장 전화번호 변경 
Home Phone[] : 02-0987-0987 -> 집 전화번호 변경 

사용자 정보 중 이름만 "송사리"로 변경할 경우에는 다음과 같이 할 수 있다.

# chfn -h "송사리" songsari 
Changing finger information for songsari 
Finger information changed. 

변경된 정보를 확인 하려면 finger 명령을 이용한다.

# finger songsari : 사용자 정보 확인 
Login: songsari                         Name: 송사리 
Directory: /home/songsari             Shell: /bin/bash 
Office: Nfozone, 02-1234-1234          Home Phone : 02-0987-0987 

사용자 이름과 회사 집 전화 번호 등이 변경된 것을 확인 할 수 있다.

[관련 명령어]
finger 사용자 정보 확인
chgrp 파일의 그룹 변경
chmod 파일의 권한 변경
chown 파일의 소유자 변경
chsh 셀변경
2005/06/21 21:07 2005/06/21 21:07
파일의 소유 그룹을 변경하는 명령어이다. 주로 chmod와 함께 사용하여 파일을 사용하는 접근 권한을 설정할 때 사용한다.

사용법 : chgrp [옵션] 그룹명 파일명 
그룹명 : 새로운 그룹명 
파일명 : 그룹을 변경하고 싶은 파일 이름 
-c, --changes : 그룹이 변경되는 파일만 보여준다. 
-f, --silent, --quiet : 그룹이 변경되지 않는 경우에도 에러를 보여주지 않는다. 
--help : 도움말을 보여준다. 
-R, --recursive : 하위 디렉토리에 있는 모든 디렉토리/파일의 그룹 변경한다. 
--reference=filename : 지정한 파일에서의 그룹을 변경한다. 
-v, --verbose : 그룹 변경을 자세히 보여준다. 
--version : 버전 정보를 보여준다. 

파일을 새로운 그룹으로 변경한다. 새로운 그룹의 고유 번호나 그룹 이름으로 변경할수 있으며 /etc/group에서 새로운 그룹에 대한 정보를 확인할 수 있다.
그룹의 변경의 파일의 소유자나 관리자만이 할 수 있다.
songsari 디렉토리와 그 하위 디렉토리를 모두 fish 그룹으로 바꾸고 변경된 그룹을 확인해 보겠다.

# chgrp -R fish songsari/ 
# ls -al 
drwxr-xr-x    6 root     root         4096 Mar 29 23:02 . 
drwxr-xr-x   19 root     root         4096 Mar 17 09:23 .. 
drwxr-xr-x    1 root     fish         4096 Nov 12 00:17 songsari 
2005/06/21 21:06 2005/06/21 21:06