1. Quota
사용자 및 그룹별로 디스크 사용량을 제한
1.1. 설치
- yum install -y quota
1.2. 관련 명령어
- quotacheck [-F 쿼터포맷[option] [그 외옵션] [마운트포인트]
- 처음 quota를 설정 하거나, 변경된 설정 업데이트
옵션 | |
-u (user) | 사용자 파일 검사 |
-g (group) | 그룹 파일 검사 |
-v (verbose) | 추가 정보 출력 |
-m (no-remount) | remount 하지 않음 |
-F (format=formatname) | 특정 포맷의 쿼터 파일 검사 |
-a (all) | 모든 파일 시스템 검사 |
포맷 종류 | |
vfsold | original 쿼터 포맷 |
vfsv0 | 표준 쿼터 포맷 |
vfsv1 | 64bit 제한이있는 쿼터 포맷 |
rpc | RPC 호출 사용 |
xfs | XFS 쿼터 포맷 |
1.3. Quota 설정 실습
※ selinux 모드 확인
- getenforce 명령어로 selinux 모드가 Disabled 또는 Permissive인지 확인한다.
※ quota 설치 후 확인
- rpm(Redhat Package Manager) : rpm 패키지 관리 도구
※ 파티션 생성 후 /quo 디렉토리에 마운트하기
- 디스크 생성 및 마운트에 관한 자세한건 → https://mh-itstudy.tistory.com/12
※ /etc/fstab (File System Table)파일 quota 설정 추가
- 장치명
- 마운트 포인트
- 파일시스템 종류
- 마운트 옵션
- default : rw, nouser, auto, exec, suid속성을 모두 설정. 일반적인 파일 시스템에서 사용
- usrjquota=aquota.user,jqfmt=vfsv0 : ext4 파일 시스템에서 사용자 quota를 설정하기 위한 옵션
- auto : 부팅시 자동마운트
- noauto : 부팅시 자동마운트를 하지 않음
- exec : 실행파일이 실행되는 것을 허용
- noexec : 실행파일이 실행되는 것을 불허용
- suid : SetUID, SetGID 사용을 허용
- nosuid : SetUID, SetGID 사용을 불허용
- ro : 읽기 전용의 파일시스템으로 설정
- rw : 읽시/쓰기 전용의 파일시스템으로 설정
- user : 일반 사용자 마운트 가능
- nouser : 일반 사용자 마운트불가능, root만 가능
- quota : Quota설정이 가능
- noquota : Quota설정이 불가능
- userquota : 개별 계정 사용자의 Quota 설정이 가능하도록 함
- grpquota : 그룹별 Quota설정이 가능하도록 함
- 디스크 복제 여부 (0=사용안함, 1=사용)
- 디스크 검사 순서 지정 (0=디스크검사 사용 안함, 1=첫 번째로 검사, 2=두 번쨰로 검사)
- 명령어 입력 후 위와같은 메세지가 출력되면 /etc/fstab 파일에 오타가 발생한 것이니 확인해보셔요
※ /quo 리마운트 후 확인
※ /quo 디렉토리 이동 후 quotacheck 명령어 사용하여 Quota(Database) 파일 생성 및 체크
- 에러 메세지 같지만 정상적인 것. 그냥 진행하시면 됩니다.
※ 사용자 a에 대해서 quota 설정
- 블록단위 soft 20M, hard 30M 설정
soft 할당
- 설정한 용량을 넘을 경우 유예기간동안 사용할 수 있음 (soft할당~hard할당 추가로 사용 가능)
- 유예기간 종료될 경우 기존에 사용한 용량은 삭제되지 않지만, 사용하지 않은 용량은 삭제됨
hard 할당
- 최대 사용할 수 있는 용량(유예기간과 상관 없음)
※ 유예기간 설정
※ Quota on, 확인
※ others에 대한 /quo 디렉토리 쓰기 권한이 없으므로 a 사용자에게 권한 부여
- ACL 관련된 자세한건 → https://mh-itstudy.tistory.com/13?category=923076
※ 사용자 a의 홈 디렉토리 아래에 3MB 테스트용 파일 생성
※ 사용자 a로 로그인 후 /quo에 생성해놓은 파일 복사하여 테스트
- a계정으로 파일 6개를 /quo디렉토리에 복사한 후 quota를 확인해보면 3MB*6=18MB 사용중인 것을 확인할 수 있다.
※ /quo에 파일 추가로 복사 (soft 할당 초과 테스트)
- 3MB 파일을 하나 더 추가(총 21MB)하여 soft 할당량인 20MB 를 초과했기 때문에 경고 메세지가 출력된다. (But, 파일은 정상적으로 생성)
- quota를 확인해보면 +기호로 바뀌었으며, 유예기간이 설정된 것을 확인할 수 있다.
※ /quo에 파일 추가로 복사 (hard 할당 초과 테스트)
- 3MB 파일 4개를 더 추가(총 33MB)하면, hard 할당인 30MB를 넘었기 때문에마지막 파일 복사에서 오류가 발생한다.
- /quo 디렉토리를 확인해 보면 a11.txt 파일의 크기가 0으로 생성된 것을 확인할 수 있다.
※ 유예기간 테스트를 위해 파일 삭제
※ 날짜 변경 후 파일 다시 추가 (soft 할당 유예기간 테스트)
- 유예기간 이후로 날짜 변경
- a8.txt 파일을 추가하면 오류 메세지 출력, 파일 크기 0
- quota 확인해보면 사용용량은 그대로 21MB, 유예기간은 none으로 변경되어 있는 것을 확인할 수 있다.
1.4. Quota 설정 초기화
※ quota off, aquota 파일 삭제, umount
※ /etc/fstab 파일 설정 내용 삭제
※ 리마운트
1.5. Group Quota 해보기
※ group 생성 후 사용자 a, b 그룹 변경
※ 파티션 및 디렉토리 생성 후 마운트
- /deb/sdb1을 /groquo에 마운트
※ /etc/fstab 파일에 quota 설정 추가
※ 리마운트 후 확인
※ /grpquo 디렉토리로 이동 후 quotacheck 명령어 사용하여 Quota(Database) 파일 생성 및 체크
※ edquota 명령어 이용하여 그룹 qgroup에 대해서 quota 사이즈 설정
※ edquota 명령어 -T 옵션 이용하여 그룹의 quota 유예기간 설정
- -T (edit-times) : 사용자/그룹의 유예기간 편집
※ quotaon 명령어 이용하여 quota 실행
※ 사용자 a, b의 홈 디렉토리 아래에 7M 테스트용 파일 생성
※ acl로 /grpquo 디렉토리에 대해 qtest그룹의 권한 설정
※ putty로 a계정 로그인, 생성한 7M 파일 /grpquo 디렉토리 아래에 복사 후 quota 확인
※ putty로 b계정 로그인, 생성한 7M 파일 /grpquo 디렉토리 아래에 복사 후 quota 확인
※ 다시 a계정으로 파일 복사 후 quota 확인 (7M*3=21M, soft 할당 용량 초과)
- 사용자 quota와 달리 soft 할당량을 초과해도 별다른 메세지가 출력되지는 않지만 유예기간은 시작된 것을 볼 수 있다.
※ 파일 두개를 추가로 복사한다. (7M*5=35M, hard 할당 용량 초과)
- 마지막으로 복사한 a4파일이 생성되기는 하지만, hard 용량 최대치인 30M에 맞춰 2M로 파일의 크기가 줄어든 것을 확인할 수 있다.
ad.
※ ntp 서버에 시스템 시간 맞추기
Reference.
https://blog.daum.net/rayolla/806
https://blog.naver.com/PostView.nhn?isHttpsRedirect=true&blogId=dudwo567890&logNo=130156449983
https://neul-carpediem.tistory.com/112
'Linux' 카테고리의 다른 글
12. CentOS7: Local Repository (0) | 2022.03.08 |
---|---|
11. CentOS7 : package 관리 (0) | 2022.03.08 |
09. CentOS7 - ACL(Access Control List) (0) | 2022.03.01 |
08. CentOS7 : Disk관리/Partitioning/LVM (0) | 2022.03.01 |
07. CentOS7 - 계정 생성 및 패스워드 관련 파일과 명령어 (0) | 2022.03.01 |