quota
쉘 사용자의 계정 용량을 제한하는 기능으로, 웹 호스팅 서비스 또는 계정 서비스에서 사 용자에게 일정한 계정 공간을 할당하고자 할 때 많이 사용된다.
blocks(soft=0, hard=0)
사용자가 현재 사용중인 총 블록(용량) 수를 자동으로 표시해 주므로, 이 값은 수정 할 수 없음을 주의하도록 하자.
blocks에서 soft는 사용자가 사용할 수 있는 실제 계정 용량으로, 여기서 할당한 용량에 도달하게 되면 경고 메시지를 전달해 주고, 유예 기간(grace period) 동안에는 hard으로 할당한 용량 범위 내까지 soft의 설정 용량을 초과하더라도 사용할 수 있게 된다. 반면에 hard는 사용자가 사용할 수 있는 절대 용량으로 이 용량을 초과하면 더 이상 계정 용량 을 사용할 수 없게 된다.
inodes(soft=0, hard=0)
사용자가 현재까지 사용하고 있는 파일의 총 개수를 의미하며, 이것도 자동으로 사용 중 인 총 파일 개수를 표시해 준다.
soft는 사용자가 사용할 수 있는 파일의 개수를 지정하고. hard는 사용할 수 있는 절대 파일 개수를 지정한다.
test1사용자의 계정 용량을 100메가(soft)로 제한하고, 이용량이 넘었을 때는 일정 기간 최대 150메가(hard)까지 사용할 수 있도록 하고, 사용할 수 있는 총 파일 개수를 500개 로 제한하는 쿼터 설정은 다음과 같다
유예 기간(grace period)
사용자의 계정 사용량이 soft limit로 지정한 용량에 도달하였을 때 부터 hard limit 범위 내에서 계정 용량을 초과하여 사용할 수 있도록 한시적으로 적용되는 기간입니다. 이 기 간이 경과되면 계정 용량은 soft limit 이상의 용량의 초과하여 계정을 사용할 수 없게 된 다. 유예 기간 정보는 edquota 명령에 -t 옵션을 지정하여 확인할 수 있다.
기본값은 1주일로 설정되어 있다.
유예 기간을 변경하고자 한다면 sec(초), min(분), hour(시), day(일), month(달) 단위로 내용을 수정하면 된다.
# edquota -u -t
# edquota -g -t
(실습) quota 설정해보기
[ Quota and inodes 설정연습 ]
스텝1 . 파티션 생성 -> 포맷-> 마운트
/dev/sdb1 /dir1 => 500M
/dev/sdb2 /dir2 => 500M
mkfs.ext3 /dev/sdb1
mkfs.ext3 /dev/sdb2
mount /dev/sdb1 /dir1
mount /dev/sdb2 /dir2
스텝2. 환경 설정
# vi /etc/fstab
/dev/sdb1 /dir1 ext3 defaults,usrquota 1 2
/dev/sdb2 /dir2 ext3 defaults,grpquota 1 2
# mount -o remount /dir1
# mount -o remount /dir2
스텝3. 쿼터 파일 생성
# chmod 777 /dir1
#chmod 777 /dir2
# cd /dir1
# touch aquota.user
# chmod 600 aquota.user
# cd /dir2
# touch aquota.group
# chmod 600 aquota.group
스텝4. quota 설정
# quotacheck -mf /dir1
# quotaon /dir1
# quotacheck -mfg /dir2
# quotaon /dir2
# useradd user1
# useradd user5
# useradd user6
# groupadd sales
#cat /etc/group | grep sales
sales : x : 503
# vi /etc/passwd
user5 , user6 의 group gid를 503으로 바꾼다.
#edquota - u user1 : user 쿼터 수정
#edquota -g sales : group 쿼터 수정( user5, user6 : sales 를 기본 그룹으로 변경)
스텝5. user quota 확인
# su - user1 $ cp /boot/vmlinuz-2.6.18-194.el5 /dir1/test1 --1.6MB사용
$ cd /dir1 $ cp test1 / dir1 /test2 --3.2MB사용
$ cp test1 / dir1 /test3 --4.8MB사용
$ cp test1 / dir1 /test4 --6.4MB사용
$ cp test1 / dir1 /test5 --8.0MB사용
root에서
# repquota -a
스텝6. group quota 확인
# su - user5 $ cp /boot/vmlinuz-2.6.18-194.el5 /dir2/test1 --1.6MB사용
$ cd /dir2 $ cp test1 /dir2/test2 --3.2MB사용
$ su - user6 $ cp test1 /dir2/test3 --4.8MB사용
$ cp test1 /dir2/test4 --6.4MB사용
$ cp test1 /dir2/test5 --8.0MB사용
# repquota -ga
스텝7. quota 정보 복사
# edquota -p user1 user2 : 사용자의 쿼터정보를 user2에게 복사
# su - user2
$ cp /boot/vmlinuz-2.6.18-194.el5 /dir1/ex01 --1.6MB사용
$ cd /dir1
$ cp test1 / dir1 /ex01 --3.2MB사용
$ cp test1 / dir1 /ex02 --4.8MB사용
$ cp test1 / dir1 /ex03 --6.4MB사용
$ cp test1 / dir1 /ex04 --8.0MB사용
=> 3개 이상으로 생성하려고 하면 초과되었다고 나오면서 더이상 생성되지않습니다.
'Server > Linux Server' 카테고리의 다른 글
[RHEL] Redhat 8.4 IP 설정 (0) | 2023.09.18 |
---|---|
[Server / Linux] Linux 파티션 (0) | 2023.05.02 |
[ Server /Linux] telent 서비스 설치 및 시작 (0) | 2023.04.18 |
댓글