데비안에서 Quota 설정

한국 데비안 사용자 모임
둘러보기로 가기 검색하러 가기

kernel에서 quota지원 확인

# cat /var/log/dmesg |grep quota
VFS: Disk quotas dquot_6.5.1

위와 비슷하게 쿼터버전이 표시되면 커널에서 지원되고 있다.(RedHat계열, Debian 동일)


quota 패키지를 설치한다. (dselect, apt-get install 둘다 가능)

# apt-get install quota


/etc/fstab 을 수정한다. (쿼터를 설정할 파티션에 usrquota 옵션을 준다.)

/home3 파티션에 usrquota 옵션을 줘서, 쿼터를 설정하였다.

# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>                       <dump>  <pass>
/dev/hda6       /               ext3    defaults,errors=remount-ro      0       1
/dev/hda5       none            swap    sw                      0       0
proc            /proc           proc    defaults                        0       0
/dev/fd0        /floppy         auto    defaults,user,noauto            0       0
/dev/cdrom      /cdrom          iso9660 defaults,ro,user,noauto         0       0
/dev/hda1       /boot   ext3    defaults                        0       2
/dev/hdb5       /home2  ext2    defaults                        0       2
/dev/hdb1       /home3  ext3    defaults,usrquota                       0       2


파티션 디렉토리에 quota를 위한 quota파일생성하기

# cd /home3
# touch quota.user
# chmod 640 quota.user <-quota파일보안을 위한 퍼미션설정


재부팅한다.

# reboot


quota 설정하는 방법

이제 quota시스템이 모두 설정되었으므로 quota설정을 계정사용자에게 할 수 있다. edquota라는 명령어를 아래와 같이 사용하여 개별사용자(예, test3)에게 quota를 설정해주면 된다.

# edquota -u test3
Disk quotas for user test3 (uid 1014):
 Filesystem                   blocks       soft       hard     inodes     soft     hard
 /dev/hdb1                        20       2000       2000          5        0        0
~
~
~
"/tmp//EdP.aMLETGl" 3L, 217C                                  1,1           All

위의 예는 soft란 것과 hard라는 설정이 있는데 이는 다음과 같다.(단위는 kbyte이다.) soft limit이라는 것은 현재 이 사용자가 해당 파일시스템(파티션)에서 가질 수 있는 전체 디스크용량(단위 Kbyte)과 파일 수를 의미한다. soft limit은 사용자가 이 수치를 넘었을 때에 시스템에서 자동으로 용량을 초과했다는 경고메시지를 뿌려주게된다. hard limit은 현재 이 사용자에게 설정된 용량(단위 Kbyte)과 파일수를 절대 초과할수 없는 절대치를 설정한 것입니다. 참고로 hard limit을 초과하였을때에 기존에 있는 파일에 덮어쓰기를 하게되면 기존의 파일은 0byte가 되어 버리므로 주의해야한다.

다음은 edquota시에 나오는 각각의 필드들에 대한 설명이다.

/dev/hdb1                           <- 파일시스템 경로명
blocks in use: 20                   <- 현재사용 디스크량(Kbyte)
soft = 2000 soft limit(block)       <- 초과하지 못하는 최대 디스크용량
hard = 2000 hard limit(block)       <- 초과하지 못하는 최대 디스크용량의 절대치
inodes in use: 5                    <- 현재 inode 사용량
soft = 0 soft limit(inode)          <- 초과하지 못하는 최대 파일(디렉토리)수
hard = 0 hard limit(inode)          <- 초과하지 못하는 파일(디렉토리)의 절대치


쿼터실행과 중지

# quotaon -av    <- 실행
# quotaoff -av   <- 중지

보다 자세한 옵션을 man페이지를 참조해 주세요. ;)


쿼터확인

# quota test3


참고문서


작성자 및 의견

  • 2003년 2월 26일 김민우 - 처음으로 데비안 위키에 글을 써봅니다. 문서작업엔 위키가 적절한 것 같네요...수정사항이 있으면 알려주세요... ;))
  • 쿼터실행과 중지 섹션 추가 jonghaya ;)
  • 커널에서 쿼터 지원해야 합니다. 자신의 커널이 쿼터 지원을 하지 않으면 커널 컴파일을 해야합니다(아마).
  • 커널에서 쿼터 지원 여부 확인 추가 gtko ;)
  • 요즘 나오는 quota 버전에서는 quota.user 파일을 쓰지 않고 aquota.user파일로 자동생성되는걸로 알고 있습니다.