2024. 6. 2. 23:39ㆍ리눅스 연습
자 이번에는 리눅스 quota 명령어에 대해 실습해보겟습니다.
리눅스는 다중 사용자 시스템입니다.
다중 사용자 시스템은 동시에 여러 사용자가 컴퓨터를 사용하는시스템 입니다.
쉽게 설명하면 한개의 컴퓨터를 여러 사용자(계정)이 사용하는 시스템 입니다.
결국 한정된자원을 여러명이서 사용하는셈입니다.
이러한 이유로 디스크또한 크기가 정해진 한정된 자원이므로 사용자 마다 할당량을 배분하여 관리해야 합니다.
quota 명령어는 이것을 지원하는 명령어로 사용자 또는 그룹마다 디스크 할당량을 지정해주는 명령어 입니다.
quota 기능을 활성화 해주기 위해서는 먼저 yum install quota 명령어로 해당 패키지를 설치해 주면됩니다.
저의 경우에는 이미 디폴트로 설치되어 있었기에 해당과정은 생략합니다.
패키지가 설치되어 있으면 디스크 쿼터 기능을 활성화 해야 합니다.
지난번 파티션 설정파일인 /etc/fstab 파일의 분할된 파틸션에 설정을 해야합니다.
일단 저는 루트(관리자)계정을 사용중입니다.
cat /etc/fstab 명령어로 파일의 내용을 확인합니다.
저는 지난번에 quota용으로 만든 제일 아래의 디스크 파티션을 이용할 예정입니다.
저는 nano 에디터를 사용했습니다만 vi 나 vim 등의 다른 텍스트 에디터를 사용하셔도 상관없습니다.
4번째 필드인 defaults 다음에 ,usrquota,grpquota를 넣어줍시다.
usrquota와 grpquota는 quota 파일시스템 마운트 옵션으로, 각각 다음과 같은 의미를 가집니다:
usrquota:
- 사용자별 디스크 사용량 제한을 활성화합니다.
- 이 옵션을 사용하면 quota가 각 사용자의 디스크 사용량을 추적하고 제한할 수 있습니다.
- 관련 quota 파일은 aquota.user입니다.
grpquota:
- 그룹별 디스크 사용량 제한을 활성화합니다.
- 이 옵션을 사용하면 quota가 각 그룹의 디스크 사용량을 추적하고 제한할 수 있습니다.
- 관련 quota 파일은 aquota.group입니다.
일반적으로 두 옵션을 모두 사용하여 사용자와 그룹 모두에 대해 quota를 관리합니다.
저번 파티션 부여때 저는uuuid로 설정 했기에 UUID=... none ext4 defaults,usrquota,grpquota 0 0
이렇게 설정하면 /home 파티션에 사용자와 그룹 별 quota가 모두 활성화됩니다.
그다음 systemctl daemon-reload 명령어와
mount -o remount /마운트 포인트 디렉터리 로 /etc/fstab 파일의 변경사항이 적용되게 해주시면 됩니다. 물론 사용하려는 디스크 파티션이 마운트 되어있어야합니다.
그다음 setenforce 0 명령어로 SELinux를 비활성화 해줍니다.
SELinux 는 Linux의 보안을 강화해 주는 보안 강화 커널이지만 설정에 방해가되니 경고수준 단계로만 낮춘것입니다.
나중에 setenforce 1 로 기본값으로 설정해 줄수 있습니다.
다음은
quotatcheck -mf /사용자 이름 또는 quotatcheck -gf/ 그룹이름
명령어로 사용자 또는 그룹을 위한 쿼터파일을 생성하고 디스크 사용량을 설정해줍시다.
아 일단 실수를 했습니다.
첫번째 문제는 마운트 안한거 같네요 mount 명령어로 다시해줍니다.
그리고 두번째는 파일 시스템오류입니다.
/etc/fstab 파일을 다시 확인해줍시다.
원인은 swap 파티션으로 지정되어 있었기 때문입니다.
이상하다 ext4 파일시스템으로 지난번에 설정했는데..
아 none은 swap 파티션을 의미하는것이 였군요
수정해줍시다..
ext4 파일시스템과 마운트된 디렉터리로 수정하여 다시 쿼터명령어를 수정해줍니다.
그다음 디스크를 제한을 걸 사용자와 그룹을 만들어 줍니다.
그다음 이제 quotacheck 명령어로
사용자를 위한 쿼터 기록 파일 생성과 디스크 사용량을 설정해 줍니다.
그다음 사용자에 대한 쿼터 정책을 설정해 줍시다.
edquota 사용자명
edquota 명령은 JFS 파일 시스템에 대한 할당량을 작성하고 편집합니다.
https://www.ibm.com/docs/ko/aix/7.2?topic=e-edquota-command
edquota 명령
용도 사용자 및 그룹 할당량을 편집합니다. 구문사용자 할당량 편집 edquota [ -u ] [ -p Proto-UserName ] UserName ... 그룹 할당량 편집 edquota [ -g [ -p Proto-GroupName ] GroupName ...] 사용자 또는 그룹 변경 유예
www.ibm.com
아직은 지정 하지 않은 상태이고 사용중인 공간이 없어서 0 값인거 같습니다.
연습이라 일단 아무렇게나 지정했습니다. 편집은 vi 또는 vim 에디터 처럼하시면 됩니다.
- Filesystem: 이 행은 quota를 설정할 파일시스템의 이름 또는 장치 이름
- blocks: 이 열은 블록(디스크 공간) 할당량과 관련된 값들입니다.
- 0: 현재 사용 중인 블록 수
- 100: 소프트 한도(soft limit). 이 값을 초과하면 경고만 표시되고 제한은 없습니다.
- 200: 하드 한도(hard limit). 이 값을 초과하면 더 이상 블록을 할당받을 수 없습니다.
- inodes: 이 열은 inode(파일 메타데이터) 할당량과 관련된 값들입니다.
- 0: 현재 사용 중인 inode 수
- 300: 소프트 한도(soft limit)
- 300: 하드 한도(hard limit)
이 설정에 따르면, /dev/nvme0n2 파일시스템에 대해 다음과 같은 quota 제한이 적용됩니다:
- 블록(디스크 공간) 할당량:
- 현재 사용량: 0블록
- 소프트 한도: 100블록, 이를 초과하면 경고 표시
- 하드 한도: 200블록, 이를 초과하면 더 이상 블록 할당 불가
- inode(파일 메타데이터) 할당량:
- 현재 사용량: 0inode
- 소프트 한도: 300inode, 이를 초과하면 경고 표시
- 하드 한도: 300inode, 이를 초과하면 더 이상 inode 할당 불가
quotaon 명령어로 디스크 쿼터 기능을 활성화했습니다.
그다음 repquota 명령어로 사용자 쿼터 기능이 잘 적용되었는지 출력하여 확인해 줍시다.
-g 옵션은 그룹 쿼터기능 정보출력
quota 명령어는 디스크 사용량과 쿼터 정보를 출력하는 명령어 입니다.
사용자에 대해 디스크 할당량이 설정되어 있지만, 현재 해당 사용자가 할당량 제한 대상이 되는 디스크 자원을 전혀 사용하지 않고 있다는 것을 의미합니다.
이는 일반적으로 새로 생성된 사용자나 quota가 처음 설정되었을 때 볼 수 있는 메시지입니다. 사용자가 디스크를 사용하기 시작하면 이 메시지 대신 실제 사용량과 할당량 정보가 표시될 것입니다.
'리눅스 연습' 카테고리의 다른 글
윈도우에서 파티션부여 한 외장 하드가 이용이 안될 때 해결법 (feat .ntfs-3g 패키지) (0) | 2025.03.18 |
---|---|
리눅스에 하드디스크 연결하기 mount (0) | 2024.06.01 |
우분투 파이어 폭스에서 글자 입력이 안될 때 해결법 (1) | 2023.07.10 |