본문 바로가기

리눅스(Linux)/실습

[리눅스] Quota 활용 : 사용자별로 공간 할당하기

반응형

 

#쿼터 Quota 

파일 시스템마다 사용자나 그룹이 생성할 수 있는 파일의 용량과 개수를 제한하는 것

 

#쿼터 Quota 가 필요한 이유?

리눅스는 여러명의 사용자가 동시에 접속해서 사용 가능합니다. 하지만 그러면 무한정으로 자원을 쓰게 될 수도 있습니다. 그럴 때 필요한 것이 제한 시스템 쿼터(Quota) 입니다.

 

# 쿼터 진행 순서

 

# 하드디스크 새로 추가 (10GB / userDisk)

10GB 짜리 뉴 하드디스크 추가

 

ls /dev/sd*    # 새 디스크 상태 확인
fdisk /dev/sbd   # 새 디스크 파티션 나누기
mkfs.ext4 /dev/sbd1  # 새 디스크 포맷

mkdir /userHome   # userHome 폴더 생성
mount /dev/sdb1 /userHome   # 파티션 나누고 포맷한 새 디스크와 userHome 마운트

 

# 유저생성

#유저생성
useradd -d /userHome/john john    # 유저 john 생성
useradd -d /userHome/bann bann   # 유저 bann 생성
passwd john   # john pwd 설정
passwd bann   # bann pwd 설정

more /etc/passwd  # pwd 추가된 것 확인

 

more 명령어 사용해서 pwd 설정 리스트 마지막에 추가된 것 확인

 

 

# fstab 수정

vi /etc/fstab    # fstab 수정 > ★quota 적용 내용 추가!
reboot    # 재시작
df    # 확인

fstab 수정

,usrjquota=aquota.user,jqfmt=vfsv0    # defaults 뒤에 붙이기

 

reboot 후 최종 df > userHome 마운트 확인

 

 

# mount 반영 시키기

remount 하기 전 mount 상태

mount   # 현재 mount 된것 확인 (지금은 안뜸)

mount --option remount /userHome    # 재부팅하는 효과

mount   # 현재 mount 된것 확인 (이제 뜸)

 

remount 한 후 mount 상태

 

 

# 쿼터 사용을 위한, 쿼터 DB 생성

cd /userHome  # 쿼터용 파일 시스템이 마운트된 디렉토리로 이동
quotaoff -avug   # 일단 쿼터 끄기(off)
quotacheck -augmn   # 쿼터 관련 체크
rm -rf aquota.*   # 생성된 쿼터 관련 파일을 일단 삭제
quotacheck -augmn   # 다시 쿼터 체크

touch aquota.user aquota.group   # ★쿼터 관련 파일 생성
chmod 600 aquota.*    # 보안을 위해 root 이외에는 접근 제한

quotacheck -augmn   # 쿼터 체크
quotaon -avug    # 설정된 쿼터 시작(on)


more aquator.user  #확인(아직은 아무것도 없다)
ls

설정된 쿼터 on (사용준비 완료)

 

 

 # john에게 20mb의 쿼터를 제공

edquota -u john    # 존에게 용량 한도 설정(vi 에디터와 동일)
repquota /userHome   # 보기(이걸 해줘야 저장이 됨)

edquota -u john 으로 john에게 용량 한도 설정

 

√  blocks : 현재 사용자가 사용하는 블록(KB 단위)
√  soft : 최대 이용 한도
√  hard : 증량 허용 한도

 

 

# 유저(john) 용량 한도 테스트

# 유저변경(john)
su - john  #유저 변경

pwd  # 위치 확인
whoami  # 유저 확인

cp /boot/vmlinuz-4* test1   # 7.5MB 정도의 파일 test1이란 이름으로 복사
cp test1 test2   # 약 15MB 사용
cp test1 test3   # 약 22.5MB 사용 : 소프트 한도(20MB) 초과(경고 출력)
ls -l            # test3 파일이 소프트 한도를 넘었으나 파일 정상 복사됨
cp test1 test4   # 약 30MB 사용 : 하드한도(30MB)를 초과해 더 사용할 수 없음
ls -l            # test4 파일은 하드 한도까지 사용할 수 있는 남은 용량 만큼만 파일 생성. 
# 즉 test4 파일은 정상파일 아님.

다른 파일들에 비해서 test4 파일만 용량이 적다

 

# 유저(john)의 현재 사용 용량 확인

quota   # 자신에게 할당된 하드디스크 공간 확인
exit   # john 유저 로그아웃

 

√ quota(=soft) : 20480KB

√  limit(=hard) : 30720KB

√  grace : 유예기간 6 일 (limit - quota 만큼의 용량은 유예기간인 6일 간만 사용 가능, 이후에는 데이터 삭제됨)

 

 

 

# 다른 유저들에게도 john과 동일한 설정 적용!

edquota -p john bann  # john과 같은 조건으로 bann도 만들어라 
su - bann  # bann 으로 접속
quota   # 자신에게 할당된 하드디스크 공간 확인
exit   # bann 유저 로그아웃

존과 동일한 한도로 설정된 것 확인 가능

 

 

# root 계정에서 쿼터 확인

repquota /userHome    #관리자로서 전체 사용자에 대한 쿼터 확인 가능(root 계정에서 확인)

모든 유저들의 쿼터 확인이 가능

 

 


 

 

오늘은 quota를 활용해서 사용자 별로 용량을 할당해주는 법을 배워봤습니다. 유저 별로 같은 용량으로 구성하는 법을 통해 자동화 하는 법도 좋겠죠. 그럼 다음에 뵙겠습니다. 

 

반응형