본문 바로가기
Server/Linux Server

[Server / Linux ] Linux Quota

by JINJINC 2023. 5. 2.
728x90
반응형

 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

#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개 이상으로 생성하려고 하면  초과되었다고 나오면서 더이상 생성되지않습니다. 

728x90
반응형

'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

댓글