4. 리눅스에서 Quota 설정 - 1 장: 환경 설정

4.1. 커널 재설정

Quota를 지원할 수 있도록 다음과 같이 커널을 재설정한다.
Quota support (CONFIG_QUOTA) [n] y

4.2. Quota 소프트웨어 컴파일 및 설치

대부분의 리눅스 배포본에서는 Quota 소프트웨어가 설치되어 있거나, 쉽게 설치할 수 있다. 그렇지 않다거나, 어떻게 설치해야 하는지 모른다면, 여기에서 최신 버젼의 Quota 소프트웨어를 다운로드할 수 있다.

Quota 소프트웨어를 컴파일하고 설치하라.

4.3. Quota를 검사하고 부트 시에 Quota를 작동시키기 위해 시스템 init 스크립트 수정

다음 예를 살펴보자.
# Check quota and then turn quota on. 
if [ -x /usr/sbin/quotacheck ] 
then 
    echo "Checking quotas. This may take some time." 
    /usr/sbin/quotacheck -avug 
    echo " Done." 
fi 

if [ -x /usr/sbin/quotaon ] 
then 
    echo "Turning on quota." 
    /usr/sbin/quotaon -avug 
fi

가장 좋은 방법은 /etc/fstab에 명시된 파일 시스템이 마운트된 후 항상 Quota를 켜놓는 것이다. 시스템 init 스크립트의 끝부분 또는 파일 시스템이 마운트되는 부분의 바로 뒷부분에 Quota를 켜놓는 것을 추천한다.

4.4. /etc/fstab 수정

일반적으로 Quota가 작동되기 전의 파티션 정보는 다음과 같다.
/dev/hda1       /       ext2    defaults        1       1
/dev/hda2       /usr    ext2    defaults        1       1

파일 시스템에 사용자 Quota 지원을 가능하게 하려면, "defaults" 단어 뒤, 즉 네번째 항에 "usrquota"를 추가한다. 더 자세한 정보는 fstab 매뉴얼 페이지(`man fstab`)를 참고하라.
/dev/hda1       /       ext2    defaults        1       1
/dev/hda2       /usr    ext2    defaults,usrquota       1       1

파일 시스템에 그룹 Quota 기능이 필요하면, "usrquota" 대신 "grpquota"를 추가하라.
/dev/hda1       /       ext2    defaults        1       1
/dev/hda2       /usr    ext2    defaults,grpquota       1       1

파일 시스템에 사용자 Quota와 그룹 Quota 둘다 필요하다면 다음과 같이 하면 될 것이다.
/dev/hda1       /       ext2    defaults        1       1
/dev/hda2       /usr    ext2    defaults,usrquota,grpquota       1   1

4.5. Quota 기록 파일 "quota.user"와 "quota.group" 생성

quota.userquota.group, 이 두 Quota 기록 파일은 root 소유이어야 하고, root 이외에는 어느 누구도 읽기/쓰기 권한을 줘서는 안된다.

root로 로그인한 후, Quota를 활성화시킬 파티션의 루트 디렉토리로 이동하라. 그런 후 quota.userquota.group 파일을 다음과 같이 만든다.
touch /partition/quota.{user,group} 
chmod 600 /partition/quota.{user,group} 

4.6. Quota 시스템 활성화시키기

Quota 소프트웨어를 활성화시키기 위해, 여러분이 수정한 것이 영향을 미칠 수 있도록 시스템을 리부트한다.

더 좋은 방법은 여러분이 만든 시스템 init 스크립트를 실행시키는 것이다. 이것은 Quota 데이타베이스를 초기화시킬 것이다. 만약 `ls -la /partition/quota.*` 명령을 실행해보면 파일 크기가 더 이상 0 이 아니라는 것을 알게 될 것이다. 이것은 Quota가 동작하고 있다는 것을 말한다.

나중에 다른 파티션에도 Quota를 가능하게 하려면 4, 5, 6번 과정을 되풀이하면 된다.

4.7. crontab에 quotacheck 추가

Quotacheck는 주기적으로, 즉 일주일마다 실행되면 될 것이다. 다음 줄을 root의 crontab에 추가하라. (`crontab -e`)
0 3 * * 0 /sbin/quotacheck -avug