상세 컨텐츠

본문 제목

[Linux] Linux Quota | userquota | groupquota

IT/Linux

by o_zeew 2022. 2. 28. 20:55

본문

(1) quota

(2) user quota 실습

(3) group quota 실습


1. Quota

 - 사용자 및 그룹별로 디스크 사용량을 제한하는 기술

 

2. <user quota 실습>

1. selinux가 비활성화 된상태에서 진행합니다

getenforce 명령어로 selinux가 disabled 상태임을 확인

2. quota는 설치해야 사용 가능하기 때문에 yum 명령어로 quota 설치합니다

rpm -qa quota 명령어로 quota 설치 확인

3. 비어있는 디스크를 파티셔닝 해줍니다

sdb 디스크
fdisk 명령어로 sdb1 파티션 생성

4. 파티션 확인 후 ext4 파일시스템을 생성합니다

5. 디렉토리를 생성 후 마운트를 해줍니다

quo 디렉토리 생성 후 sdb1을 마운트
마운트 확인

  * 명령어로 마운트를 할 시에 리눅스를 재부팅 하면 마운트가 풀리게 됩니다.

     이것을 방지하기 위해 /etc/fstab에 마운트 정보를 등록합니다.

ex) 장치명     마운트포인트     파일시스템형식    defaults,usrjquota=aquota.user,jqfmt=vfsv0     0  0

 

6. [remount] 명령어를 통해 다시 마운트를 시도해서 적용해줍니다.

remount 명령어를 통해 적용 후 mount 명령어로 적용 확인

7. database를 만들기 위해 해당 디렉토리로 이동 후 [quotacheck] 명령어를 이용해 자동으로 생성합니다.

quota의 database인 aquota.user 생성 완료

8. [edquota -u] 명령어로 quota의 사용자 설정파일을 편집해줍니다.

user a에 대한 quota 편집

  * 용량은 kb로 설정

    어떠한 경우에도 hard 할당량은 넘길 수 없으며, soft 할당량은 넘어가도 유예기간 안에만 사용 가능

    (soft 용량이 넘어간 순간부터 유예기간 시작 / 유예기간이 끝나기 전까지 사용한 용량은 인정해줌)

soft:20480, hard:30720

9. [edquota -t] 명령어로 quota의 유예기간을 설정해줍니다

유예기간 5일로 설정 / user에게 block으로 줬기 때문에 유예기간 설정도 block grace에서

10. [quotaon] 명령어로 quota 실행 후 [repquota] 명령어로 확인해줍니다

-a : 모든 사용자에 대한 설정 확인 옵션

11. quota 디렉토리에 대해 일반사용자에게 모든 권한을 부여합니다. (쓰기 권한 없으면 복사 불가능)

 

12. 복사할 3M 용량의 파일을 생성합니다

 

13. 사용자 a로 로그인 하여 파일을 확인합니다

a.txt 파일 확인

14. a.txt를 /quo/a1.txt로 복사 후 확인합니다

3m 용량의 파일 복사
사용자 a가 사용한 만큼의 용량 확인
5개의 파일을 더 생성하면 총 사용량은 18M
18M 사용 확인

15. soft 사용량을 넘어가면 경고창이 뜨면서 유예기간이 시작됩니다

soft의 20480 용량을 넘어가면서 4일의 유예기간 시작

16. hard 사용량을 넘어가면 디스크가 꽉 찼다는 경고 메세지가 출력되면서 파일이 저장되지 않습니다

디스크 할당량이 초과되었다는 경고메세지
내용물 없이 파일명으로만 저장된 a11.txt 파일

17. hard 할당량 안으로 파일을 지운 다음 유예기간 이후 날짜로 변경 후 확인해봅니다

hard 할당량 안으로 파일 제거
soft 초과, hard 안쪽의 용량 상태
유예기간 이후의 날짜로 변경
hard의 할당량 안에서 파일을 생성하지만 유예기간이 지난 후라 파일 생성 불가

18. 현재시간으로 되돌려 다시 확인해봅니다

유예기간이 다시 생김을 확인

19. quota를 삭제합니다 (설치의 역순으로 진행)

   해당 디렉토리에서 나오기 > quotaoff > quota database 삭제 > 마운트해제 > /etc/fstab 수정

   

  * [edquota -p] 명령어를 사용해 설정을 그대로 사용할 수 있다

b의 edquota 설정을 c에게 그대로 적용

 


 

3. <group quota 실습>

1. 그룹을 생성 후 그룹에 속하는 사용자를 생성합니다

test 그룹 생성 후 test 그룹에 속하는 사용자 a, b를 생성

2. sdb 디스크를 파티셔닝 후 ext4 파일시스템으로 생성합니다

fdisk 명령어로 파티션 생성
ext4 타입의 파일시스템 생성

3. 필요한 디렉토리를 생성 후 마운트 합니다

grquo 디렉토리 생성 후 마운트
마운트 확인

4. /etc/fstab 내용을 수정하여 재부팅시 마운트가 해제되는 것을 방지합니다

grpjquota=aquota 로 설정

5. [remount] 명령어로 적용 후 확인합니다

적용 확인

6. 해당 디렉토리로 이동 후 quota database를 생성합니다

aquota.group 생성 확인

7. [edquota -g] 명령어를 사용해 quota의 그룹 설정파일을 편집합니다

 

8. [edquota -T -g] 명령어를 사용해 유예기간을 설정합니다

유예기간 5일 설정

9. [quotaon] 명령어로 quota를 실행시킨 후 각 사용자별 파일을 만듭니다

3M 용량의 a.txt 파일과 b.txt 파일 생성

10. 그룹 test에게 모든 권한을 부여합니다

 

11. [repquota -avg] 명령어를 사용해 용량을 확인합니다

 

12. 사용자 a로 로그인한 후 파일 4개 복사 후 확인합니다

3M 용량의 파일 4개 복사
test 그룹 사용량 12M 확인

13. 사용자 b로 로그인 하여 파일 4개 복사 후 확인합니다

3M 용량 파일 4개 복사
group quota는 soft 할당량 초과 경고 메세지가 뜨지 않고 유예기간 시작

14. hard 할당량을 초과한 후 확인하기

hard 할당량 초과 할 시에 경고 메세지가 뜸
그룹 test의 할당량을 다 채운 것 확인

 

관련글 더보기