본문 바로가기

리눅스

[리눅스] quota | 사용자별 용량 제한

반응형

리눅스 사용자별 용량 제한(quota)

리눅스에서 사용자별 디스크 용량 제한을 설정하는 것은 quota를 사용하여 수행할 수 있습니다. quota를 이용하면 사용자가 할당된 용량을 초과하는 경우에 대한 경고 및 차단을 설정할 수 있습니다.

quota 설치

$ yum info quota
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
221 packages excluded due to repository priority protections
Installed Packages
Name        : quota
Arch        : x86_64
Epoch       : 1
Version     : 4.01
Release     : 17.amzn2
Size        : 858 k
Repo        : installed
Summary     : System administration tools for monitoring users' disk usage
URL         : http://sourceforge.net/projects/linuxquota/
License     : BSD and LGPLv2+ and GPLv2 and GPLv2+
Description : The quota package contains system administration tools for monitoring
            : and limiting user and or group disk usage per file system.

$ yum install -y quota

quota 설정(uid 유저별 제한)

/etc/fstab 파일에서 적용할 파일시스템에 userquota를 추가

###파일시스템장치명 | 마운트포인트 | 파일시스템종류 | 옵션 | dump관련설정 | 파일점검옵션
$ vi /etc/fstab
LABEL=/1                /                       ext3    defaults        1 1
LABEL=/data1           /data1                  ext3    defaults, usrquota        1 2
LABEL=/data3            /data3                  ext3    defaults        1 2
LABEL=/tmp             /tmp                    ext3    defaults        1 2
LABEL=/data2            /data2                  ext3    defaults        1 2
LABEL=/boot1            /boot                   ext3    defaults        1 2
tmpfs                    /dev/shm               tmpfs   defaults        0 0
devpts                   /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                     /sys                    sysfs   defaults        0 0
proc                     /proc                   proc    defaults        0 0
LABEL=SWAP-sda5        swap                   swap    defaults        0 0

/data1 remoute

$ mount -o remount /data1

$ mount
/dev/sda2 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda6 on /data1 type ext3 (rw,usrquota)
/dev/sdb2 on /data3 type ext3 (rw)
/dev/sda3 on /tmp type ext3 (rw)
/dev/sdb1 on /data2 type ext3 (rw)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

quota를 적용할 파티션의 최상위 디렉토리에 aqouta.user를 생성하고 권한를 600으로 설정

$ cd /data1/
$ touch /data1/aquota.user
$ chmod 600 /data1/aquota.user

quota 현재 상테 체크

$ quotacheck -avug
quotacheck: WARNING -  Quotafile /data1/aquota.user was probably truncated. Can't save quota settings...
quotacheck: Scanning /dev/sda6 [/data1] quotacheck: Old group file not found. Usage will not be substracted.
done
quotacheck: Checked 40844 directories and 828912 files
728x90

quota 관리

quota 시작 및 종료

###Quota 시작
$ quotaon -avug
/dev/sda6 [/data1]: user quotas turned on
 

###Quota 종료
$ quotaoff -avug
/dev/sda6 [/data1]: user quotas turned off

quota 현재 상태 확인

$ repquota -a
*** Report for user quotas on device /dev/sda6
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      -- 2126544       0       0           6538     0     0      
daemon    --  182004       0       0            248     0     0      
nobody    --  767976       0       0           1496     0     0      
#200      --  962324       0       0           6831     0     0      
#502      -- 109895212     0       0         796706     0     0       
#503      --  277896       0       0            661     0     0      
#504      --  747108       0       0           4597     0     0      
#505      --   73168       0       0            383     0     0      
#506      --   46352       0       0           1255     0     0      
#507      --   46012       0       0           1240     0     0      
#508      --   51512       0       0           1541     0     0      
#509      -- 1199284       0       0           2308     0     0      
#510      --  970244       0       0          25018     0     0      
#512      --  990756       0       0           3262     0     0      
#514      --      12       0       0              3     0     0      
#515      --      16       0       0              4     0     0      
#516      --  825488       0       0          15288     0     0      
#523      --  239396       0       0           1391     0     0      
#524      --  200608       0       0            979     0     0      
#525      --      20       0       0              5     0     0
----------------------------------------------------------------------

###used : 현재 사용량
###soft : 현재 설정된 soft limit
###hard : 현재 설정된 hard limit
###grace : soft limit에 지정된 용량 초과 시 남은 유예 기간 표시

유예기간 설정 및 변경

$ edquota –t
Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
  Filesystem             Block grace period     Inode grace period
  /dev/sda6              7days                  7days

사용자에게 용량 제한 설정하기

특정 사용자(test1) 용량 제한 적용

# edquota -u test1
Disk quotas for user test1 (uid 502):
Filesystem                   blocks       soft       hard     inodes     soft     hard
/dev/sda6                 109895212          0          0     796706        0        0
---------------------------------------------------------------------------------------

###Filesystem : qouta를 적용할 파일 시스템
###blocks : 현재 유저의 총 사용량
###inodes : 현재 유저의 파일의 개수
###soft : 지정한 용량 또는 파일수를 초과하면 경고
###hard : 지정한 용량 또는 파일수를 초과하면 쓰기 금지

여러 사용자(test2, test3, test4)에게 용량 제한 설정을 동일하게 적용

$ edquota -p test1 test2 test3 test4
---------------------------------------------------------------------------------------

###test1 설정되어 있는 계정, test2-4 설정 할 대상 계정

특정 사용자의 quota설정을 확인

$ quota -v test1
Disk quotas for user test1 (uid 502):
 Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
 /dev/sda6 109895212       0       0          796706       0       0

$ quota -v test4
Disk quotas for user test4 (uid 505):
 Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
 /dev/sda6   73168*   1000    1024             383       0       0       

 

728x90
반응형

'리눅스' 카테고리의 다른 글

dig 명령어  (0) 2020.09.04
ping, telnet으로 통신(포트) 상태 확인  (0) 2020.09.04
ntsysv 명령어  (0) 2020.09.04
Logrotate를 설정하는 방법  (0) 2020.09.04
[리눅스] find 명령어  (0) 2020.09.04