25장. 쿼터
학습목표
- 다중사용자 환경에서 사용자의 파일용량을 제한하는 쿼터에 대해서 알아보자.
● 쿼터(quota)
- 파일시스템마다 사용자나 그룹이 생성할 수 있는 파일의 용량 및 개수를 제한하는 것
● 적용 순서 요약
- 사례 : Data 백업을 위해 Secondary-Slave(/dev/hdd)에 HDD를 한 개 추가하고,
/data 디렉토리에 마운트 시킴.
● 개인별 쿼터 설정
- 명령어 : # edquota 사용자ID
- vi와 사용법이 동일함
- 특정 사용자의 쿼터설정을 다른 사용자에게 적용
→ # edquota -p <기존사용자> <새사용자>
● 기타
- 쿼터 해제 : # quotaoff /data
- 쿼터설정확인 : # repquota -a
[실습]
● 새로운 HDD를 추가하여, 쿼터 설정
< HDD 추가하여 쿼터 설정하기 >
새로이 HDD (IDE1:1)을 하나 추가하자
용량은 100M만 해보자.
만드는 방법은 전장에서 설명했으므로 참고하자.
fdisk /dev/hdd
새로 장착한 /dev/hdd를 파티션 생성한다.
mkfs.ext3 /dev/hdd1
/dev/hdd1의 시스템파일 생성
mkdir data
/ 에서 마운트포인트인 /data 폴더 생성
chmod 777 /data
/data 폴더의 권한을 모두 사용가능하도록 설정
vi /etc/fstab
시스템 재부팅을 해도 마운트를 계속 시켜주는 설정을 하기 위해
/etc/fstab 파일을 설정하자.
맨 아래줄에 위의 다음과 같이 설정해준다.
/dev/hdd1 /data ext3 defaults,usrquota 1 2
cat /etc/fstab
설정이 잘 되어있음을 확인하고
reboot
리부팅하자.
재부팅 후
mount
/data 폴더에 제대로 마운트가 되어있는지 확인
/data 폴더로 이동해서
touch quota.user
quota.user 이라는 빈 파일을 생성한다.
chmod 600 quota.user
quota.user의 권한 설정을 rw- --- --- 으로 설정한다.
(보안 때문에)
quotacheck -a -m
쿼터체크를 해준다.
convertquota /data
쿼터를 새로운 커널버전으로 적용한다.
그럼 aquota.user라는 파일이 생성되고 개인별로 쿼터를 설정해줄 수가 있다.
redhat-config-users
사용자 설정 그래픽모드
사용자 추가를 클릭하고
user1 이라는 사용자를 생성하자.
잘 생성이 되었다.
edquota user1
user1 사용자의 쿼터 사용량 설정을 지정해 줄수 있는 명령
여기서 user1 사용자에게 사용할 수 있는 공간과 파일수를 설정해줄 수 있다.
inodes 뒤의 soft와 hard의 수를 설정해보자.
soft(3) ~ hard(5) : 파일을 3개까지는 기본으로 쓰고 최대 5개까지 쓰게 설정
quotaon /data
이제 /data 폴더에 설정되어 있는 쿼터를 적용한다.
repquota -a
현재 쿼터 현황에 대해 확인할 수 있다.
아직 user1 사용자는 아무런 활동도 하지 않았으니 목록에 없다.
/root 에서 적당히 카피할만한 파일을 찾아 /data 폴더로 카피하자.
cp install.tar.gz /data/u1-1.dat
install.tar.gz 파일을 /data 폴더에 u1-1.dat라는 파일이름으로 복사한다.
현재 root 사용자이기 때문에 user1 사용자에게 u1-1.dat 파일의 권한을 주자.
그래야 user1이 사용하는 것이 된다.
chown user1 u1-1.dat
repquota -a
이제 user1 사용자가 파일을 1개 사용했다는 것을 확인할 수 있게 되었다.
이번엔 같은 반복작업으로 파일을 5개까지 만들어보자.
그리고 repquota -a로 확인해보면
grace 목록에 7days라는 것이 떴다.
이것은 7일만 보관한다는 의미이다.
여기서 하나 더 추가하면
grace의 7days가 6days로 줄어들었다.
이제 user1 사용자로 직접 파일을 추가해보기 위해서
/data 폴더의 권한이 777로 되어있지 않으면 먼저 해준다.
Ctrl + Alt + F2 키를 눌러 텍스트 모드로 전환
user1 사용자로 로그인하고
/data 폴더로 이동해서
cp u1-6.dat u1-7.dat 와 같이 아무 파일이나 하나 더 복사해보자.
그럼 이미 한계에 도달했다는 에러메시지가 뜬다.
만약 한글이 깨져서 나온다면
export LANG=en_US
영문으로 설정을 바꿔서 다시 실행해보자.
이처럼 쿼터로 사용자들의 권한을 관리하는 방법에 대해서 알아보았다.
[정리]
● 쿼터 설정 순서