이 내용은 한빛미디어에서 나온 RedHat Linux 9 내용을 발췌했다.
쿼터란?
쿼터는 파일시스템마다 사용자 혹은 그룹이 생성할 수 있는 파일의 용량 및 개수 제한을 지정하는 설정으로, 쿼터를 지정하려면 /etc/fstab 파일에서 쿼터를 적용할 파일시스템의 옵션 필드에 사용자 쿼터를 적용할 때는 usrquota 를, 그룹 쿼터를 적용할 때는 grpquota 를 입력한다.
설정하기
우선 설정에 들어가기 전에 커널 컴파일 옵션에 쿼터에 대한 지원이 되어야 한다. 만일 포함되지 않았다면, 포함시켜서 다시 컴파일해야 한다. -_-;
여기서는 /var 파티션을 쿼터로 설정해보겠다. /etc/fstab 파일에 다음과 같이 설정해준다.
/dev/hda5 /var xfs defaults.usrquota 1 2
파일 시스템 리마운트
/etc/fstab에 해당 파일 시스템에 사용자 쿼터를 적용한다는 옵션(usrquota)을 추가하였다면, 리부팅하여 해당 파일시스템을 마운트할 때 usrquota 옵션이 적용되도록 한다. 만약 리부팅 과정없이 해당 파일시스템에 바로 usrquota 옵션을 적용하려면, 해당 파일 시스템을 리마운트해야 한다.
#mount -o remount /var
쿼터 데이터베이스 파일 생성
파일시스템에 쿼터를 적용할 경우 해당 파일 시스템을 사용하는 사용자 혹은 그룹별 쿼터를 적용하게 되고 이러한 정보를 보관하는 데이터베이스 파일이 필요하게 된다. quota.user 파일은 사용자 쿼터에 대한 정보를 기록하는 파일이며, quota.group 파일은 그룹쿼터에 대한 정보를 기록하는 파일이다.
이제 쿼터 정보를 기록할 수 있도록 해당 파일시스템의 마운트 포인트에 해당하는 디렉토리에 touch 명령어를 사용하여 quota.user 라는 빈 파일을 생성한다.
#cd /var #touch quota.user #chmod 600 quota.user
쿼터 데이터베이스 갱신
쿼터를 적용한 파일시스템에 대한 디스크 사용량 점검 및 쿼터 데이터베이스 파일생성, 점검 및 복구를 위해 사용하는 quotacheck 명령어로 빈파일로 생성된 쿼터 데이터베이스 파일을 갱신한다.
#quotacheck -a -m
커널 2.4.X 를 위한 쿼터 데이터베이스 생성
커널 2.4.x를 사용하는 시스템에서 사용자 quota를 사용하기 위해서는 먼저 사용자 quota가 적용될 파티션의 최상위 디렉토리에 quota.user 파일이 존재해야 하고, quota.user 파일을 다시 aquota.user 파일로 변환해 주는 작업을 한번 더 거쳐야 한다.
#convertquota /var
개인별 쿼터 설정
사용자에 대한 쿼터 설정은 edquota라는 명령어를 통해서 설정한다.
#edquota 사용자명
특정 사용자의 쿼터 설정을 다른 사용자에게 적용할 경우는 다음과 같이 한다.
#edquota -p <쿼터가 적용된 사용자명> <새로운 사용자>
특정 사용자의 쿼터설정을 모든 일반사용자에게 적용할 경우
#edquota -p USER awk -F:'$3 > 499 {print $1}' /etc/패스워드
USER 에는 쿼터가 적용된 사용자명을 입력한다. /etc/패스워드 파일에서 : 를 구분자로 세번째 컬럼(사용자명)을 출력하여 적용하는 방법이다.
쿼터 적용하기
앞에서 설정한 쿼터를 적용하기 위해서는
#quotaon /var
또한 쿼터 설정을 해제할 때는
#quotaoff /var
하면 된다.