글 수 367
; 쉘 사용자의 계정용량을 제한하는 기능으로, 웹 호스팅 서비스 또는 계정 서비스에서 사용자에게 일정한 공간을 할당하고자 할 때 많이 사용된다. 쉘 계정의 사용자에게 계
/etc/fstab 파일의 내용수정전
/dev/hdb1 /userhome ext3 defaults 1 1
/etc/fstab 파일의 내용수정후
/dev/hdb1 /userhome ext3 defaults,usrquota 1 1
; 유예기간은 사용자의 계정용량이 soft limit로 지정한 용량에 도달 하였을 때 부터
; 자신의 디스크 쿼터 사용량 확인
정용량을 제한할 수 있도록 리눅스에서는 커널에서 쿼터 옵션을 지원하고, 쿼터 설정
에 필요한 유틸리티가 되어 있으므로, 쉽게 쿼터를 설정할 수 있다.
]# cat /var/log/dmesg | grep quota
VFS : DiskQuota version dquot_6.4.0 initialized
]# cat /var/log/dmesg | grep quota
VFS : DiskQuota version dquot_6.4.0 initialized
; Disk Quota를 사용하기 위해서는 커널상에서 디스크 쿼터를 지원하여야 한다
만약 메시지가 출력되지 않을 경우 디스크 쿼터를 지원할 있도록 커널옵션을 설정 후
재컴파일하도록 하여야 한다.
[Disk Quota의 설정]
; 디스크 쿼터는 /etc/fstab 파일에 게정용량을 제한하고자 하는 장치에 쿼터 옵션인
[Disk Quota의 설정]
; 디스크 쿼터는 /etc/fstab 파일에 게정용량을 제한하고자 하는 장치에 쿼터 옵션인
usrquota 또는 grpquota 옵션을 추가해서 사용할 수 있다.
/etc/fstab 파일의 내용수정전
/dev/hdb1 /userhome ext3 defaults 1 1
/etc/fstab 파일의 내용수정후
/dev/hdb1 /userhome ext3 defaults,usrquota 1 1
/userhome 이라는 디렉토리에 마운트 되어있는 /dev/hdb1 파티션에 쿼터를 부여한다
쿼터 옵션이 적용되도록 시스템을 재 시작하거나 해당장치를 재마운트 하여야 한다.
]# mount
...
...
/dev/hdb1 on /userhome type ext3 (rw,usrquota)
...
시스템을 재시작 하였거나 또는 재마운트 한 후에 mount명령을 실행하여 쿼터 옵션이
]# mount
...
...
/dev/hdb1 on /userhome type ext3 (rw,usrquota)
...
시스템을 재시작 하였거나 또는 재마운트 한 후에 mount명령을 실행하여 쿼터 옵션이
해당 파티션에 적용되었는지를 확인한다.
]# quotacheck -avug
; usrquota 옵션이 적용되었으면 quota.user파일을 생성한다.
실행할 경우 디스크 쿼터 옵션이 설정된 장치가 마운트된 디렉토리에 aquota.user 파일
]# quotacheck -avug
; usrquota 옵션이 적용되었으면 quota.user파일을 생성한다.
실행할 경우 디스크 쿼터 옵션이 설정된 장치가 마운트된 디렉토리에 aquota.user 파일
이 생성되어 있음을 확인할 수 있다. 만약 사용자 설정이 아닌 그룹설정으로 옵션을 줄
경우 aquota.group 파일이 생성된다.
]# quotaon /userhome
]# quotaon /userhome
; quotacheck 명령을 실행하여 쿼터 상태를 체크한 후 디스크 쿼터가 활성화 되도록
quotaon 명령을 실행한다.
[계정의 사용량 할당]
[계정의 사용량 할당]
]# edquota 계정명
Disk quotas for suer 계정명 (uid 500):
...
...
; 계정사용자에게 계정용량을 할당 할 때에는 edquota 명령을 이용한다.
계정용량의 제한은 블록수(용량)와 inode(파일수)로 제한 할 수 있다.
blocks (soft=0,hard=0)
; blocks는 사용자가 현재 사용중인 총 블록(용량)수를 자동으로 표시해 주므로, 이 값
Disk quotas for suer 계정명 (uid 500):
...
...
; 계정사용자에게 계정용량을 할당 할 때에는 edquota 명령을 이용한다.
계정용량의 제한은 블록수(용량)와 inode(파일수)로 제한 할 수 있다.
blocks (soft=0,hard=0)
; blocks는 사용자가 현재 사용중인 총 블록(용량)수를 자동으로 표시해 주므로, 이 값
을 수정할 수 없다. blocks에서 soft는 사용자가 사용할 수 있는 실제 계정용량으로, 여
기서 할당된 용량에 도달하게 되면 경고메시지를 전달해주고, 유예기간(grace period)
동안에는 이 이상의 용량을 초과하더라도 사용할 수 있게 된다. 반면에 hard는 사용자
가 사용할 수 있는 절대 용량으로 이 용량을 초과하면 더 이상 계정용량을 사용할 수 없
게 된다.
inodes (soft=0,hard=0)
; inodes는 사용자가 현재까지 사용하고 있는 파일의 총 개수를 의미하며, 이것도 자동
inodes (soft=0,hard=0)
; inodes는 사용자가 현재까지 사용하고 있는 파일의 총 개수를 의미하며, 이것도 자동
으로 사용중인 총 파일 개수를 표시해 준다. soft는 사용자가 사용할 수 있는 파일의 개
수를 지정하고, hard는 사용할 수 있는 절대 파일의 개수를 지정한다.
]# edquota -p 원본계정 대상계정1 대상계정2 ...
; 나열한 계정에 대하여 원본계정과 동일한 디스크 쿼터를 설정하도록 지정하는 명령
]# edquota -p 원본계정 대상계정1 대상계정2 ...
; 나열한 계정에 대하여 원본계정과 동일한 디스크 쿼터를 설정하도록 지정하는 명령
이다.
유예기간 (grace period)
유예기간 (grace period)
; 유예기간은 사용자의 계정용량이 soft limit로 지정한 용량에 도달 하였을 때 부터
hard limit 범위 내에서 게정을 사용할 수 있도록 한시적으로 적용되는 기간이다. 유예기
간 정보는 edquota명령에 -t옵션을 지정하여 확인할 수 있다. 기본값은 1주일로 설정되
어 있다.
]# edquota -t
Grace period before enforcing soft limits for users:
...
; 유예기간을 변경하고자 한다면 sec(초), min(분), hour(시), day(일), month(달) 단위
]# edquota -t
Grace period before enforcing soft limits for users:
...
; 유예기간을 변경하고자 한다면 sec(초), min(분), hour(시), day(일), month(달) 단위
로 내용을 수정하면 된다.
]# repquota -a
]# repquota -a
; 디스크쿼터 설정 상태의 확인
]# quota
]# quota
; 자신의 디스크 쿼터 사용량 확인
=====================================================================================
디스크 쿼터(Disk quota)
쉘 사용자의 계정용량을 제한하는 기능으로, 웹 호스팅 서비스 또는 계정서비스에서 사용자에게 일정한 공간을 할당하고자 할 때 많이 사용된다. 쉘 계정의 사용자에게 계정용량을 제한할 수 있도록 리눅스에서는 커널에서 쿼터 옵션을 지원하고, 쿼터 설정에 필요한 유틸리티가 되어 있으므로 쉽게 쿼터를 설정할 수 있다.
1. 커널 지원 여부 확인
# cat /var/log/dmesg | grep quota
# demsg | grep quota
VFS:DiskQuota version dquot_6.4.0 initialized
=> 위 방식으로 커널에서 지원하는지 확인함. 만약에 위 내용이 출력되지 않을 경우 디스크 쿼터를 지원 할 수 있도록 커널옵션을 설정 후 재컴파일 하도록 하여야 함.
2. 디스크 쿼터 설정
제한하고자 하는 장치에 쿼터 옵션인 usrquota(유저쿼터), grpquota(그룹쿼터) 옵션을 추가해 주므로 사용할 수 있다.
예제) /home이라는 디렉토리에 유저쿼터를 부여하고자 하면
# vi /etc/fstab
변경한 옵션이 적용되도록 시스템을 리부팅하거나 해당장치를 재마운트 하여야 함.
# mount ?o remount /home
# mount
유저쿼터가 적용되었는지 확인하고 쿼터 데이터베이스(quota.user) 파일을 수동으로 해당 디렉토리에 만들어 주어야 함. (주의: quota.user파일은 자동으로 생성되지 않음)
# touch /home/quota.user
# chmod 600 /home/quota.user (root만 사용할 수 있도록 권한부여)
# quotacheck ?avugm (쿼터 상태 체크)
# convertquota ?u /home (쿼터 데이터베이스 파일 변환)
# quotaon /home (쿼터 활성화)
3. 계정 사용량 할당
계정사용자에게 계정용량을 할당 할 때에는 edquota 명령을 이용한다.
# edquota ?u 계정명 or # edquota 계정명
Blocks (soft=0, hard=0)
Blocks는 사용자가 현재 사용중인 총 블록(용량)수를 자동으로 표시해 주므로, 이 값을 수정할 수 없음을 주의. blocks에서 soft는 사용자가 사용할 수 있는 실제 계정용량으로, 여기서 할당된 용량에 도달하게 되면 경고메시지를 전달해주고, 유예기간 동안에는 이 이상의 용량을 초과하더라도 사용할 수 있게 된다. 반면에 hard는 사용자가 사용할 수 있는 절대용량으로 이 용량을 초과하면 더 이상 계정용량을 사용할 수 없게 된다.
Inodes (soft=0, hard=0)
Inodes는 사용자가 현재까지 사용하고 있는 파일의 총 개수를 의미하며, 이것도 자동으로 사용중인 총 파일 개수를 표시해 준다. Soft는 사용자가 사용할 수 있는 파일의 개수를 지정하고, hard는 사용할 수 있는 절대 파일의 개수를 지정한다.
예제) 사용자의 계정 용량을 50M로 제한하고, 총 파일 개수를 1500개로 제한하면
vi편집기 형식으로 설정하면 됨.
쿼터 설정을 다른 사용자와 동일하게 설정하는 방법
# edquota ?p 원본계정 대상계정1 대상계정2 …
4. 유예기간 (grace period)
유예기산은 사용자의 계정용량이 soft limit로 지정한 용량에 도달 하였을 때부터 hard limit 범위 내에서 계정을 사용할 수 있도록 한시적으로 적용되는 기간이다.
# edquota ?t
기본값은 1주일로 설정되어 있다.
유예기간를 변경하고자 한다면 초,분,시,일,달 단위로 내용을 수정하면 됨.
5. 디스크쿼터 설정 상태의 확인
# repquota ?a or #repquota /쿼터설정 디렉토리
$quota (사용자가 자신의 사용량 확인할 때)