5. 리눅스에서 Quota 설정 - 2 장: 사용자와 그룹에게 할당량 배정

이것은 edquota 명령을 통해 행해진다. (자세한 것은 `man edquota`를 참고하기 바란다.)

5.1. 특정 사용자에게 디스크 할당량 배정

여기 한가지 예가 있다. 만약 시스템에 로그인 아이디 bob이라는 사용자가 있고, 이 사용자의 디스크 할당량을 배정하기 위해 "edquota -u bob" 명령을 사용함으로써 vi 에디터(또는 $EDITOR 환경변수에 설정한 에디터)로 quota가 설치된 각 파티션의 bob이라는 사용자의 할당량을 수정할 수 있다.
Quotas for user bob: 
/dev/hda2: blocks in use: 2594, limits (soft = 5000, hard = 6500) 
           inodes in use: 356, limits (soft = 1000, hard = 1500)

"blocks in use"는 한 파티션에서 사용자가 사용 중인 총 블럭(kilobyte 단위)을 의미한다.

"inodes in use"는 한 파티션에서 사용자가 사용 중인 파일의 총합이다.

5.2. 특정 그룹에 디스크 할당량 배정

시스템에 games이라는 그룹이 있고, 이 그룹의 디스크 사용량을 제한하고 싶다면, "edquota -g games" 명령을 사용하면 된다. 그러면 vi 에디터를 이용해 games 그룹의 할당량을 수정할 수 있다.
Quotas for group games: 
/dev/hda4: blocks in use: 5799, limits (soft = 8000, hard = 10000) 
           inodes in use: 1454, limits (soft = 3000, hard = 4000)

5.3. 일련의 사용자들에게 같은 값으로 디스크 할당량 배정

예를 들어 100명의 사용자의 할당량을 사용자 bob과 같은 값으로 빨리 설정하기 위해서는, 먼저 bob의 할당량 정보를 직접 수정한 후에 다음 명령을 수행하면 된다.
edquota -p bob `awk -F: '$3 > 499 {print $1}' /etc/passwd`

여기에서 csh을 사용하고 있다고 가정하며, 사용자의 UID가 500부터 시작한다고 가정하고 있다.

추가적으로 edquota에서는 Soft Limit, Hard Limit, 유예 기간(Grace Period)이라는 단어의 의미를 알아야 한다.

5.4. Soft Limit

Soft limit는 한 파티션에서 사용자가 쓸 수 있는 최대 용량을 가리킨다. 그러나 유예 기간(grace period) 내에 있어서는 사용자는 사용 용량 초과에 대해서 경고를 받게 되는 경계선처럼 동작한다.

5.5. Hard Limit

Hard limit는 유예 기간(grace period)이 설정되어 있을 때에만 동작한다. 이것은 디스크 사용에 있어서 절대적인 제한을 의미한다. 즉, 사용자는 hard limit 이상의 디스크 공간을 사용할 수 없다.

5.6. Grace Period

유예 기간은 사용자의 사용 용량이 soft limit 용량을 넘은 후부터 적용되는 시간 제한이다. 시간은 sec(onds), min(utes), hour(s), day(s), week(s), month(s) 단위로 사용할 수 있다. "edquota -t" 명령을 실행하면 유예 기간을 보거나 수정할 수 있다.
Time units may be: days, hours, minutes, or seconds 
Grace period before enforcing soft limits for users: 
/dev/hda2: block grace period: 0 days, file grace period: 0 days 

"0 days" 부분을 적당한 기간으로 바꿔준다. 개인적으로는 7일("7 days" 혹은 "1 week")로 설정해 주었다.