- 리눅스는 기본적으로 여러 사용자가 함께 사용하는 시스템
- 특정 사용자가 과도하게 디스크를 사용하는 것을 제한할 필요가 있음
- 디스크 사용량을 제한하는 것을 '디스크 쿼터' 라고 함.
- 디스크 쿼터를 설정하는 방법은 두 가지가 있음
- 첫 번째는 하드디스크에서 사용자가 사용할 수 있는 파일의 전체 용량을 설정하는 방법
- 두 번째는 사용자가 사용할 수 있는 총파일 수를 설정하는 방법
쿼터 값 설정 - 하드 리미트, 소프트 리미트 |
- 쿼터 값을 설정할 때 '하드 리미트(hard limit)' 와 '소프트 리미트(soft limit)' 있음 - '하드 리미트(hard limit)' 는 사용자가 절대로 넘을 수 없는 최대치를 명시한 값 - '소프트 리미트(soft limit)' 는 일정 시간내에는 넘을 수 있는 한계 값 정해진 시간이 지나면 소프트 리미트 값이 하드 리미트 값으로 적용되어 새로운 파일을 생성할 수 없게 됨 - 디스크 쿼터를 초과활 경우, 사용자는 파일을 지워서 한계 값 아래로 디스크 사용량을 줄여야함. |
쿼터 설정을 위한 사전 준비 |
- 디스크 쿼터는 개별 사용자나 그룹별로 설정할 수 있음 - 디스크 쿼터를 설정하려면 'quota' 패키지를 설치해야함 |
============================================================ sjw@sjw-HP-Mini-110-3500:/home/user22$ sudo apt-get install quota ============================================================ |
쿼터 속성 설정하기 |
- 디스크 쿼터를 설정하려면 파일 시스템의 마운트 옵션에 다음과 같은 쿼터 속성을 지정 * usrquota : 개별 사용자의 쿼터를 제한할 수 있는 속성 * grpquota : 개별 그룹의 쿼터를 제한할 수 있는 속성 |
- 파일 시스템의 마운트 옵션은 '/etc/fstab' 파일에 설정 - vi 로 '/etc/fstab' 파일을 열어서 usrquota 속성 추가 - usrquota 는 defaults 속성 다음에 쉼표를 넣고 설정 ============================================================ # /etc/fstab: static file system information. |
쿼터 속성 적용하기 |
- '/etc/fstab' 파일에 쿼터 속성을 설정했다고 해서 바로 적용되는 것이 아님 - 속성을 설정 후 파일 시스템을 다시 마운트 해야함 |
- 루트('/') 파일 시스템은 언마운트할 수 없는데 이럴 때는 이렇게... ============================================================ sjw@sjw-HP-Mini-110-3500:~$ sudo mount -o remount / - 'mount' 명령으로 usrquota 옵션이 설정되었는지 체크 |
쿼터 데이터베이스 파일 생성하기 : quotacheck - 파일 시스템에 옵션이 설정되었으면 사용자의 쿼터 정보를 저장하는 데이터베이스 파일을 생성해야함. - 데이터베이스 파일은 'quotacheck' 명령으로 생성 |
- 기능 : 쿼터 파일을 생성, 확인, 수정하기 위해 파일 시스템을 스캔함 - 형식 : quotacheck [옵션] -a 또는 파일 시스템 - 옵션 : * '-a' : 전체 파일 시스템을 스캔함 * '-u' : 사용자 쿼터를 확인함 * '-g' : 그룹 쿼터를 확인함 * '-m' : 파일 시스템 리마운트를 하지 않음 * '-v' : 명령 진행 사항을 상세하게 출력 - 사용예 : 'quotacheck -augv' , 'quotacheck -ugvm /dev/sdb1' |
- 'quotacheck' 명령을 실행하면 파일 시스템을 확인한 후, 데이터베이스 파일이 있는 경우 디스크 사용량을 수정하고 데이터베이스 파일이 없으면 생성 - 쿼터가 on 일 수 있으므로 'qtotaoff' 명령으로 쿼터를 비활성한후, quotacheck 명령을 실행 ============================================================ sjw@sjw-HP-Mini-110-3500:~$ sudo quotaoff -augv ============================================================ - 디스크 쿼터를 관리하는 데이터 베이스는 두 개 파일로 구성 * aquota.user : 사용자 쿼터 데이터베이스 파일 * aquota.group : 그룹 쿼터 데이터베이스 파일 - 데이터 베이스 파일은 해당 파일 시스템의 최상위 디렉터리에 생성 ============================================================ sjw@sjw-HP-Mini-110-3500:~$ ls -l /aquota* |
쿼터 사용 활성화 하기 : quotaon |
- 기능 : 파일 시스템의 쿼터 기능을 활성화 - 형식 : quotaon [옵션] -a 또는 파일 시스템 - 옵션 : * '-a' : 전체 파일 시스템의 쿼터 기능을 활성화 * '-u' : 사용자의 쿼터를 활성화 * '-g' : 그룹 쿼터를 활성화 * '-v' : 명령 진행 상황을 상세하게 출력 - 사용예 : quotaon -augv, quotaon -ugv / |
- 파일 시스템의 쿼터 활성화 ============================================================ sjw@sjw-HP-Mini-110-3500:~$ sudo quotaon -uv / - 쿼터의 비활성화는 quotaoff 명령으로 실행(quotaon 명령의 옵션과 동일) |
쿼터 설정하기 : edquota |
- 기능 : 쿼터를 설정 - 형식 : edquota [옵션] 사용자계정 또는 그룹명 - 옵션 : * '-u' : 사용자 쿼터를 설정 * '-g' : 그룹 쿼터를 설정 * '-p' : 쿼터 설정을 복사 -사용예 : edquota -u user1, edquota -g han01, edquota -p uesr01 uesr02 |
- 쿼터 편집은 root 권한으로만 가능 - edquota 를 실행하여 쿼터를 편집할 때 vi 를 사용할려면 환경변수 EDITOR=/usr/bin/vi 를 지정해야함 - 쿼터는 KB 단위로 할당 ============================================================ sjw@sjw-HP-Mini-110-3500:~$ sudo EDITOR=/usr/bin/vi edquota -u user2 |
쿼터 정보 확인하기 : quota |
- 기능 : 쿼터 정보를 출력 - 형식 : quota [옵션] 사용자 계정 또는 그룹명 - 옵션 : * '-u' : 사용자 쿼터 정보를 출력 * '-g' : 그룹 쿼터 정보를 출력 - 사용예 : quota -u user1, quota -g han01 |
============================================================ sjw@sjw-HP-Mini-110-3500:~$ sudo quota -u user2 - 그레이스(grace) 는 소프트 리미트가 초과되어도 일정 기간 허용해주는 유예 기간을 의미 |
쿼터 설정 복사하기 : edquota -p |
- 한 사용자에게 설정한 쿼터를 다른 사용자에게 그대로 복사 - 쿼터 설정 복사는 'edquota -p' 명령 사용 |
============================================================ sjw@sjw-HP-Mini-110-3500:~$ sudo edquota -p user2 user22 ============================================================ |
쿼터 정보 요약 출력하기 : repquota - 파일 시스템 전체 사용자의 쿼터 설정을 요약하여 출력하는 명령 |
- 기능 : 쿼터 정보를 요약하여 출력 - 형식 : repquota [옵션] 파일 시스템 - 옵션 : * '-a' : 전체 파일 시스템의 쿼터 정보를 출력 * '-v' : 사용량이 없는 쿼터의 정보도 출겨 * '-u': 사용자 쿼터 정보를 출력 * '-g' : 그룹 쿼터 정보를 출력 - 사용예 : repquota -a, repquota- u han01 |
============================================================ sjw@sjw-HP-Mini-110-3500:~$ sudo repquota / ============================================================ |