2022. 9. 25. 16:05ㆍLinux
이번에는 사용자 또는 그룹별로 사용 용량을 제한할 수 있는 quota에 대해서 알아보겠습니다.
quota를 사용하기 위해선 반드시 selinux를 disable 또는 Permissive로 설정해야 합니다.
quota를 yum으로 설치해주겠습니다.
# yum -y install quota
sdb 디스크를 파티셔닝 하고 마운트 하겠습니다.
다만 이런 식의 mount는 컴퓨터가 종료되면 설정이 해제됩니다.
reboot 하니 제가 했던 sdb1 마운트가 사라졌습니다.
영구적인 마운팅을 위해 /etc/fstab파일을 vi로 편집해 줍니다.
편집하고 reboot 해보면 /dev/sdb1가 mount 돼있습니다.
파일시스템에서 사용자 quota 를 설정하기 위해 명령어를 입력합니다.
# quotacheck -F vfsv0 -avum
사용자 uA의 quota 즉 용량 제한을 셋팅합니다.
# edquota -u uA
soft는 20MB, hard는 30MB로 설정합니다.
soft는 제한을 유예기간동안 허용해주는 설정입니다.
hard는 유예기간 없는 절대적인 제한입니다.
uA의 soft 유예기간을 설정해주겠습니다. 3일로 지정해주겠습니다.
# edquota -T -u uA
3days
/quota 디렉토리에 uA의 쓰기 권한을 주기 위해서 setfacl로 권한을 주겠습니다.
# setfacl -m u:uA:rwx /quota
우리가 셋팅한 quota 용량제한은 명령어를 통해 확인할 수 있습니다.
# repquota -avu
현재 uA는 용량을 하나도 사용하지 않았기에 숫자 0이 뜨는 모습입니다.
/quota 디렉토리의 quota 기능을 키겠습니다.
# quotaon /quota
사용자 uA 홈에 5M 파일을 만들어 넣겠습니다.
# dd if=/dev/zero of=/home/uA/5mb.txt bs=5M count=1
/dev/zero는 데이터는 없지만 필요한 크기의 파일을 만드는 데 사용되는 파일입니다.
uA 사용자로 /quota에 계속 할당을 하니까 할당량이 초과됐다면서 못쓰게 만듭니다.
그리고 soft 이상 할당하면 warning메세지를 띄워줍니다.
마지막으로 만들다가 실패한 /quota/uA7.txt의 용량이 0인 모습입니다.
quota 용량 상태를 확인해보니 uA가 할당된 30720을 전부 사용한 모습입니다.
그리고 grace time 즉 유예시간이 흐르는 모습입니다.
uA의 quota 용량이 조금 남은 상태로 grace time이 흘렀을 때 상황을 보겠습니다.
grace time이 지나니 used가 강제로 hard 용량으로 바뀝니다.
이제 quota를 꺼보겠습니다.
# quotaoff /quota
이제 용량제한없이 uA 사용자가 파일을 맘대로 만들어내는 것을 볼 수 있습니다.
이번에는 user 제한이 아니라 Group으로 quota를 설정해 보겠습니다.
/etc/fstab파일을 vi로 편집해줍니다.
remount 해줍니다.
# mount -o remount /quoGroup
mount 명령어로 마운트 상태 확인해 줍니다.
quotacheck를 이용해서 quota database를 생성해줍니다.
# quotacheck -F vfsv0 -avugm
/quoGroup 내에 aquota.group파일이 생성된 것을 볼 수 있습니다.
그룹 uA에 대하여 quota를 설정하겠습니다.
# edquota -g uA
soft는 10M, hard는 20M로 설정하겠습니다.
유예기간은 5일로 설정하겠습니다.
# edquota -T -g uA
quota를 활성화시키고 테스트용 5M파일을 만들어 주겠습니다.
# quotaon /quoGroup
# dd if=/dev/zero of=/home/uA/uA.txt bs=5M count=1
# dd if=/dev/zero of=/home/uB/uB.txt bs=5M count=1
외부 사용자도 /quoGroup에 파일을 쓸 수 있게 setfacl 명령어를 입력했습니다.
quota 상태를 확인해보겠습니다.
# repquota -avg
이제 /quoGroup 디렉토리에 uA그룹의 사용자들로 파일을 채워보겠습니다.
먼저 같은 그룹의 uA가 5MB 파일을 만들어 둬서 사용자 uB로 파일 4개째 만들려는 순간 오류가 발생했습니다.
확실하게 그룹끼리 용량을 공유하는 모습입니다.
끝!
'Linux' 카테고리의 다른 글
13. source로 Apache 웹 서버 설치, 스크립트 (3) | 2022.09.25 |
---|---|
12. local repository (3) | 2022.09.25 |
10. LVM으로 디스크 관리 (3) | 2022.09.24 |
9. 기본적인 디스크이론과 관리 (3) | 2022.09.19 |
8. 중괄호 { } 활용과 명령어 연속 입력 (3) | 2022.09.19 |