본문 바로가기

Linux

파일시스템 관리

파일 및 디렉터리 관리

 

1) 소유권 ownership 과 허가권 permission

 

1. 소유권과 허가권 확인

 

ls -l 옵션이나 ls -n 옵션을 사용

$ls -l loop.sh

 

2. 파일 유형

- 일반파일

d 디렉터리

l 심볼릭 링크

b 블록 디바이스

c 캐릭터 디바이스

p FIFO

s 소켓

 

3. 허가권 permission

읽기 권한 r 파일의 내용을 확인하거나 복사 파일과 디렉터리 확인
쓰기 권한 w 파일의 내용을 수정 디렉터리가 포함하고있는 파일 수정. 파일 생성,삭제
실행 권한 x 실행가능한 파일이라면 파일을 실행 디렉터리 안으로 접근. 

 

4. 소유권 ownership

각 파일이나 디렉터리를 소유할 사용자나 그룹을 지정.

사용자 소유권, 그룹 소유권

 

5. 허가권 변경하기

chmod 명령어와 기호와 8진수 숫자를 통해 허가권 변경.

chmod [option] mode files

 

모드 설명
기호 읽기 r 쓰기w 실행x
권한의 추가는 + 삭제 - 지정 =
사용자 허가권 u 그룹 허가권 g 다른사용자 허가권 o  모두 a 
8진수 숫자 읽기 4 쓰기 2 실행 1 권한을 주지않으려면 0, 읽기 및 쓰기 4+2=6
8진수중 4번째 자리는 특수권한이고 3번째 자리는 사용자 허가권,
2번째 자리는 그룹 허가권, 1번째 자리는 다른 사용자 허가권.
755라면 사용자 허가권은 읽기, 쓰기, 실행 권한을 모두 갖고 다른사용자 허가권은 읽기,실행 권한을 가짐.

 

-R, --recursive 특정 디렉터리 내의 파일과 디렉터리에 대해 재귀적으로 허가권 변경
-C, --changes 변경된 파일이나 디렉터리에 대한 자세한 정보를 출력
-f , --silent, --quite 대부분의 에러메시지 출력을 제한
--reference 모드 대신 파일에 지정한 모드를 사용 

예제

사용자는 읽기,쓰기 권한 부여하고 그룹과 다른사용자는 읽기 권한만 부여

$chmod 644 myfile.txt

디렉터리 이하의 모든 파일과 디렉터리에 대해 사용자는 읽기, 쓰기, 실행 권한을 부여하고 그룹과 다른 사용자는 읽기 및 실행권한 부여

$chmod -R 755 myfiles

파일에 대하여 사용자에 읽기 및 쓰기권한 부여

$chmod u=rw myfile.txt

사용자는 읽기 쓰기 실행 권한 부여하고 그룹과 다른사용자는 읽기 및 실행권한 부여

$chmod 755 myscript.sh

파일에 모두에게 읽기,쓰기 권한 부여

$chmod a=rw file.txt

 

6. 사용자 및 그룹 소유권 변경

파일이나 디렉터리의 사용자 및 그룹의 소유권을 변경. chown 명령어 사용

소유권 변경은 오직 루트 사용자만 가능

 

chown [options] owner:[group] files 

 

옵션은 허가권 옵션과 같음.

 

예제

사용자는 myuser 그룹은 mygroup으로 파일 소유자 변경

$sudo chown myuser:mygroup myfile.txt

 

myfiles 디렉터리 이하 모든 파일 및 디렉터리에 대하여 사용자는 myuser, 그룹은 mygroup으로 소유자 변경

$sudo chown -R myuser:mygroup myfiles

 

7. 그룹 소유권만 변경

파일이나 디렉터리의 그룹 소유권만 변경. chgrp는 본인이 소유한파일에 대해 자신의 그룹내 소유권 변경

 

chgrp [options] group file 

 

옵션은 허가권 옵션과 같음.

 

예제

디렉터리 이하 모든 파일과 디렉터리에 대해 그룹을 colors로 변경 

$ chgrp -R colors color_files

 

8. 기본 허가권 변경

시스템상 파일이나 디렉터리를 생성할 때 기본허가권을 지정하기 위해 unmask 명령 사용.

리눅스 기본허가권은 파일의 경우 666 디렉터리의 경우 777

파일이나 디렉터리 생성시 이값에서 unmask에 설정된 마스크값을 뺀 결과값을 허가권으로 지정함.

ex) unmask가 022라면 파일생성시 644 디렉터리의 경우 755가 됨.

 

unmask [option][mask] 

 

옵션 -S : unmask 값을 숫자대신 문자로 표기

 

예제

현재 unmask 값 확인

$unmaks

0002

문자로 현재 unmask값 확인

$unmask -S

u=rwx,g=rwx,o=rx

unmask 설정시 문자 사용하여 설정가능

$unmask u=rwx,g=rwx,o=rx

 

2) 특수 권한

 

1. 특수 권한 개요

시스템 운영시 필요한 특수 권한 

 

2. Set-UID 권한 비트 Set User ID bit

파일에 Set-UID 비트가 설정되면 사용자가 파일을 실행했을때 해당 사용자의 권한이 아닌 파일의 소유자 권한으로 실행.

 

Set-UID 비트를 설정하기 위해 소유자 허가권에 s를 추가하거나 문자 또는 숫자방식으로 설정. 

숫자 방식으로 설정할 때 가장 앞에 4를 붙여줌.

$chmod u+s hello.sh

$chmod u=srwx,g=r,o=r hello.sh 

$chmod 4744 hello.sh 

 

3. Set-GID 권한 비트

파일이나 디렉터리에 설정. 

파일에 설정하면 사용자그룹이 아닌 해당 파일그룹으로 실행

디렉터리에 지정하면 하나의 디렉터리를 두고 여러 사용자가 공동작업하기 편함.

그룹허가권g에 s를 추가하거나, 숫자방식으로 할경우 앞에 2 붙여줌.

 

$chmod g+s hello.sh

$chmod u=rwx,g=sr,o=r hello.sh 

$chmod 2744 hello.sh 

 

4. 스티키 비트 

디렉터리에만 적용가능

모든 사용자가 접근 가능하도록 특정 디렉터리에 모든 권한을 지정.

그 안에 디렉터리나 파일 생성가능하지만 삭제는 오직 그 파일을 소유한 사용자만 가능.

대표적인 스티키 비트 /tmp 폴더. 스티키 비트 t 설정.

 

스티키비트 추가하기위해 문자방식인경우 t를 사용하고 숫자방식인경우 1 사용.

$chmod o+t dir1 

$chmod 1777 dir1 

 

3) 파일 링크

 

1. 파일 링크 개요

시스템에 이미 존재하는 파일에 대한 포인터를 갖는 파일링크기능 제공.

하드링크와 심볼릭링크 

 

2. 하드 링크

동일한 파일시스템 내에서만 하드링크 생성가능.

디렉터리 링크 불가능

대상파일과 동일한 아이노드 번호와 허가권 가짐.

대상파일을 옮기거나 삭제하더라도 대상파일을 참조.

ln 명령어로 하드링크 생성. 

 

$ln source.file hardlink.file 

 

3. 심볼릭 링크

파일시스템과 대상파일이 존재하는 파일시스템이 달라도 생성가능.

리테거리에 대한 심볼릭 리읔 생성가능.

대상파일은 아이노드 번호와 파일허가권이 다름.

대상 파일의 아이노드가 아닌 대상 파일의 경로만을 참조.

 

$ln -s source.file sofelink.file 

 

4) 디렉터리 관리

 

1. pwd

현재 파일 시스템상 어떤 디렉터리에 잇는지 출력

 

2. cd

작업 디렉터리 변경 이동.

/ 루트 디렉터리

.. 부모

. 현재

~ 현재 로그인계정의 홈

- 이전 디렉터리

 

3. mkdir

디렉터리 생성

 

mkdir [option] dir 

-m,--mode : 허가권 지정

-p, --parents : 상위디렉터리도 필요하다면 생성

 

4. rmdir

비어있는 디렉터리 삭제

rm -d 명령어와 동일

 

rmdir [option] dir 

 

-p : 디렉터리가 비어있으면 삭제 지어있지 않으면 멈춤.

 

5) 파일 관리 

 

1. ls

지정한 경로에 존재하는 파일과 디렉터리 리스트 출력

 

-a, --all 숨겨진 파일도 모두 출력
-F, --classify 파일마다 파일유형 문자를 붙여줌
-l 파일이나 디렉터리에 자세한 정보를 출력
-d, --directory 디렉터리 자체 정보 출력
-t 마지막 수정시간을 최신기준으로 정렬
-u lt 옵션과 함께 사용. 접근시각 출력
-I, --inode 각 파일 아이노드 번호를 출력
-r, --reverse 정렬순서를 반대로
-R, --recursive 목록중 디렉터리 존재하면 그 안에 파일 목록도 출력
-S 파일크기 기준으로 정렬
-1 한줄에 하나의 항목만 출력.

 

2.cp

지정한 파일이나 디렉터리 복사

 

cp [option] source ... destination

 

-r, -R, --recursive 디렉터리 내 파일과 디렉터리도 복사
-i,--interactive 존재 파일 덮어쓰기전에 사용자 확인받음.
-f,--force 이미 존재하는 파일에 덮어쓸수 없는경우 해당파일 삭제후 다시 시도
-b 대상 파일이 이미 존재할때 기존 파일명 뒤에 ~붙여 백업
-s,--symbolic-link 파일 복사하는 대신 심볼릭 링크 생성.
-p 허가권 소유권등을 보존하여 복사
-v,--verbose 항목 정보 상세 출력
-d 심볼릭 링크 자체 복사
-a,--archive 복사할대 원본파일이 갖고있는 모든 정보를 유지하여 복사
-l,--link 파일을 복사하지않고 하드링크 생성
-u,--update 원본파일이 대상파일보다 최신이거나 대상파일존재하지 않을때 복사

 

3. rm

지정한 파일을 삭제하는 명령어

 

rm [option] file ... 

 

-i : 삭제하기전에 사용자 확인

-f, --force : 파일이 존재하지 않더라도 무시

-r,-R, --recursive : 디렉터리와 그 이하의 파일 및 디렉터리 삭제

 

4. mv

지정한 파일이나 디렉터리를 지정한 경로로 이동하거나 이름을 변경

 

mv [option] source ... destinatioin 

 

-I, --interactive : 파일의 허가권과 관계없이 존재하는 파일 덮어쓰기전 사용자 확인

-f,--force : 확인없이 덮어씀

-b : 대상파일이 이미 존재하는경우 백업파일 만듬.

-u,--update : 대상파일이 최신인 경우 덮어씀

-t,--target-directory : 모든 원본파일을 지정한 경로로 이동

 

5. touch

파일스탬프 정보를 수정. 파일이 없는경우 빈파일 생성

 

touch [option] filename 

 

-a : atime만 변경

-m : mtime만 변경

-t : 지정한 타임스탬프 설정

-r, --reference : 현재시간이 아닌 지정한 파일의 타임스탬프로 변경

-c, --no-create : 파일은 생성하지않음.

 

6. file

파일의 유형을 확인하는 명령어

 

file [option] filename 

 

-b,--brief : 파일명은 출력하지않고 파일 유형만 출력

 

7. find

사용자가 지정하나 조건에 부합하는 파일 시스템에 존재하는 파일과 디렉터리 찾는 명령어

 

6) 텍스트 관련 명령어 

 

1. cat

텍스트 파일의 내용을 보거나 텍스트 파일을 다른 새로운 파일로 복사하거나 또는 기존의 텍스트 파일과 합치는 기능을 수행.

 

cat [option] file 

 

두파일을 읽어 화면에 출력

$cat readme.txt readme2.txt

 

2. head

지정한 파일의 앞부분을 출력. 옵션을 지정하지 않으면 첫 10줄 출력

 

head [option] file 

 

-n,--lines : 출력할 줄 수를 지정

-c,--byte : 출력한 바이트수를 지정

 

3. tail

지정한 파일의 끝 부분을 출력.

 

tail [option] file 

 

-n,--lines : 파일의 마지막에서 지정한 줄만큼 출력

-c,--bytes : 파일의 마지막에서 지정한 바이트 수만큼 출력

-f,--follow : 새로운 데이터가 들어올때까지 모니터링

 

4. more

텍스트 파일의 내용이 많을때 한페이지씩 보여주는 명령어

 

more [option] file 

 

-num : 스크린에 한번에 보여줄 줄수를 설정.

 

5. less

more 명령어와 같이 텍스트의 파일 내용을 페이지 단위로 보여주는 명령어.

 

less [option] file 

 

-c,--clear-screen : 화면을 지우고 최상단부터 결과 출력

-s--squeeze-blank-lines : 연속된 빈줄을 합쳐 하나의 빈줄로 만듬.

-e : 파일 끝에서 한번 더 파일 끝으로 이동하면 자동으로 프로그램 종료.

-N : 각줄마다 행 번호를 함께 출력

 

6. grep

텍스트 파일을 한줄씩 읽어서 지정한 패턴과 일치하는 문자열 보여주는 명령어

 

grep [option] pattern file ... 

 

cat 명령어와 파이프를 통해 grep 에게 파일의 내용을 보내 패턴을 찾음

$cat /etc/passwd | grep francis

 

7. wc

지정한 파일에 대해 단어, 개행문자, 문자의 개수 등을 셀수있는 명령어

 

wc [option] file ... 

 

-l,--lines : 줄수를 셈

-w,--words : 단어의 개수를 셈

-c,--bytes : 바이트 수를 셈

-L,--max-line-length : 가장 긴줄의 길이를 출력

 

8. sort

텍스트 파일을 한줄씩 읽어서 정렬하는 프로그램

 

sort [option] file 

 

9. cut

텍스트 파일을 한 줄 또는 여러 줄을 잘라낼수 있는 명령어

 

cut [option] file ... 

 

-c,--characters : 각줄의 문자를 선택 

-f,--fields : 각줄의 필드를 선택

-d,--delimiter : 필드 구분자를 변경. 기본값 tab

 

10. split

파일을 고정 크기의 여러 파일로 분할하는 명령어

 

split [option] file [file_name] 

 

-b,--bytes : 파일당 저장할 크기를 지정

-C,--line-bytes : 파일당 행의 크기

-l,--lines : 각 파일당 줄수


파일시스템 관리 및 복구

 

1. 파일시스템 생성의 개요 

fdisk -l 을 통해 하드디스크가 시스템에 정상적으로 인식되었는지 확인하고 

fdisk를 통해 파티션을 생성

mkfs 명령어로 원하는 파일시스템으로 포맷을 한뒤

mount 명령어로 시스템상 마운트

시스템 리부팅 후 계속 마운드가 유지될 수 있도록 /etc/fstab 파일에 파일시스템을 등록

 

2. fdisk를 통한 파티션 관리

디스크 상에서 파티션을 생성, 삭제, 수정 할 수있는 명령어

 

fdisk [option] device 

 

-l : 지정한 디스크의 파티션 정보를 출력

-b : 섹터당 크기를 설정

-s : 파티션의 크기를 출력, 단위는 block

 

3. mkfs 통한 파일시스템 생성

일반적으로 하드디스크를 사용할 수 있도록 파일 시스템을 생성하는 명령어

 

mkfs [option] device 

 

-t,--type : 파일시스템 유형을 지정. 지정하지 않으면 기본값 ext2 사용

-c : 파일시스템을 생성하기 전에 배드블록 체크

 

4. mkefs를 통한 파일시스템 생성

파일시스템을 실제로 생성하는 명령어

 

mkefs [option] device 

 

-j : 저널링 파일시스템 ext3 생성

-t : 생성할 파일시스템 유형 지정

-b : 블록 사이즈 지정

-E : 파일시스템에 대한 확장 옵션 설정

-T : 블록크기, 아이노드 크기, 파일시스템 기능 등 파일시스템의 파라미터 지정

 

저널링 파일시스템 ext3로 생성하고 블록사이즈는 2048로, 스트라이프당 블록사이즈를 32로 지정

$sudo mke2fs -j -b 2048 -E stride=32 /dev/sda1

 

5. mount를 통해 시스템에 장착

하드디스크 전체나 특정 파티션을 현재 존재하는 파일시스템의 디렉터리 구조에 붙여 접근가능하게 하는 명령어

 

mount [option][device][directory] 

 

-a,--all : /dev/fstab에 명시된 모든 파일시스템을 마운트 할때 사용

-t,--types : 파일시스템 유형 지정. 유형 앞에 no붙이면 해당 파일시스템 제외.

-o--options : 파일시스템 마운트시 옵션 추가

 

msdos와 ext 파일시스템을 제외한 모든 파일시스템을 마운트

$mount -a -t nomsdos,ext

/dev/cdrom 장치를 /mnt 디렉터리에 마운트. 읽기 전용이며 유형은 iso9660

$mount -t iso9660 -o ro /dev/cdrom /mnt

 

6. unmount를 통해 시스템 해제

마운트했던 파일시스템을 해제

 

unmount [option] device 

unmount [option] directory 

 

-a : /etc/mtab에 설정된 모든 파일시스템을 언마운트 

-t : 지정한 유형의 파일시스템만 언마운트

 

7. eject를 통한 미디어 꺼내기

지정한 장치의 미디어를 꺼내는 명령어

장치파일의 이름이나 마운트된 위치 또는 장치의 전체 경로를 통해 지정

이름을 지정하지않고 사용하면 기본적으로 cdrom이 사용

 

eject [device] 

eject [directory] 

 

8. /etc/fstab을 통한 영구 마운트 설정

/etc/fstab 파일은 리눅스 파일시스템의 마운트 위치 및 마운트 옵션에 대한 정보를 담고 있는 중요한 파일.

 

6개의 필드로 구성

  1. 블록디바이스
    마운트할 블록 디바이스 장치를 지정.
    보통 /dev 디렉터리 이하에 위치
  2. 마운트 위치
    파일시스템상 마운트 위치. 
  3. 파일시스템 유형
    블록디바이스나 파일시스템에 대한 유형
  4. 마운트 옵션
    미운트할때 사용할 옵션
  5. 덤프여부
    dump 프로그램에 의해 백업되어야 하는지 정함. 0이면 백업되지않고 1이면 백업.
  6. 파일시스템 점검
    부팅시 파일시스템 점검할 순서를 지정. 루트 파일시스템 1, 나머지 파일시스템 2, 0이면 점검 x

 

2) 파일시스템 점검

 

1. fsck (file system consistency check)

파일시스템을 점검하고 손상된 영역을 복구하는 명령어

부팅할 때 특정조건이 되면 fsck 실행데이터 일관성이 깨진 더티상태이거나

파일시스템 없이 여러번 마운트되었다면 fsck 실행

 

fsck [option] device 

 

fsck는 언마운트 된 상태에서 수행해야 함. 단일 사용자 모드 실행레벨 1로 변경하고 언마운트

$sudo init 1

#unmount /dev/sda1

sda2파티션을 점검

$sudo fsck /dev/sda2

/dev/fstab에 정의된 모든 파일시스템을 점검

$sudo fsck -A

 

2. e2fsck

fsck 명령어의 확장형으로 ext2, ext3, ext4 파일시스템을 점검하는 명령어

 

e2fsck [option] device 

 

3. df

파일시스템 크기, 가용용량 등 정보 출력

 

df [option] 

 

-h,--human-readable : 용량의 단위 표시

-k,--block-size : kb 단위로 출력

-m : mb 단위로 출력

-T : 파일시스템 유형 출력

-i : 블록사용량 대신 아이노드 정보 출력

 

4. du

디렉터리 또는 파일들이 차지하는 공간 정보를 출력

 

du [option] file 


스왑 (Swap)

 

1) 스왑의 개요

  • 시스템이 물리메모리를 모두 소모하였을때 스왑을 활용하면 메모리 공간 극복에 도움
  • 물리메모리를 모두 소진하고 더 많은 메모리 공간이 필요할 때
    메모리 상의 비활성화된 메모리를 스왑공간으로 이동하여 메모리공간을 확보하는 기술
  • 보통 물리메모리보다 액서스 속도는 느리나 가격이 저렴하고 용량이 큰 하드디드크를 사용
    스왑공간은 보통 스왑 파티션이나 스왑 파일 형태로 만듬.
  • 요즘 시스템은 RAM크기가 커 무작정 스왑의 크기를 늘리는건 무의미 함.
    스왑공간의 크기는 실제 시스템이 사용하는 메모리 양에 근거해 설정해야한다.
  • 보통 스왑공간 크기는 리눅스 설치시 결정.

시스템 물리 메모리별 권장 스왑공간

4GB RAM 이하 : 최소 2GB

4-16GB RAM : 최소 4GB

16-64GB RAM : 최소 8GB

64-256GB RAM : 최소 16GB

256-512GB RAM : 최소 32GB

 

2) 스왑파일 생성하기

1. 파일생성

dd 명령어를 사용해 1048576 블록으로 구성된 /swapfile을 생성. 블록크기 1024바이트

$sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576

 

2. 허가권설정

루트사용자만 읽고 쓰기가 가능하도록 허가권 설정

$sudo chmod 600 /swapfile

 

3. 스왑파일 초기화

스왑역할을 수행하도록 지정한 파일 초기화

$sudo mkswap /swapfile

 

4. 스왑파일을 시스템에 인식

$sudo swapon /swapfile

 

5. 상태 확인

$sudo swapon -s

 

6. 스왑파일 설정 영구적으로 저장

/etc/fstab 파일에 스왑설정 추가

/swapfile swap swap default 0 0

 

3) 스왑파일 삭제

1. 스왑파일 해제

$sudo swapoff -v /swapfile

 

2. /etc/fstab 항목 삭제

 

3. 스왑파일 삭제

$sudo rm /swapfile

 

4) 스왑 파티션 생성

1. 새 파티션 생성 

디스크의 사용하지 않은 영역이나 새로운 디스크를 추가한 후 파티션 생성

$sudo fdisk /dev/sdc 

n->p->1->enter->enter

 

2. 파티션 타입 변경

파티션 타입을 스왑용으로 변경

t->82->w

 

3. 스왑 파티션 초기화

-L 옵션을 사용해 레이블이 MySwap이고 -c 사용해 배드블록 검사한 후 스왑파티션 초기화

$sudo mkswap -L MySwap -c /dev/sdc 

 

4. 스왑 파티션 활성화

스왑파티션 /dev/sdc 활성화 후, 정상 수행 되었는지 확인

$sudo swapon /dev/sdc 

$swapon -s 

 

5. 스왑파티션 설정 영구 적용

/etc/fstab 에 다음의 항목 추가

/dev/sdc    swap   swap   default   0 0

 

5) 스왑 명령어 세부설명

 

1. mkswap

지정한 디스크나 파티션에 스왑 영역을 설정하는 명령어

 

mkswap [option] swap_file 또는 swap_partition

 

-c,--check : 스왑영역을 생성하기 전에 배드블록을 체크

-L,--lable : 라벨 지정

-f,--force : 지정한 파일이나 파티션보다 더 큰 스왑영역을 설정하려해도 무시하고 수행.

 

10204킬로바이트 스왑파일 생성

$sudo /swap-file 10240

 

2. swapon

지정한 스왑파일이나 스왑파티션에 대한 스왑기능 활성화

 

3. swapoff

지정한 스왑파일이나 스왑파티션에 대한 스왑기능 비활성화

 

모든 스왑기능 비활성화

$sudo swapoff -a

 

4. free

물리 메모리, 스왑메모리, 커널 메머리 사용량 등 사용상태를 출력하는 명령어

buffer/cache 나 swap의 미사용 중인 메모리가 부족하면 업그레이드 고려해야함.

 


디스크 쿼터

 

1) 디스크 쿼터 개요 및 설정 방법 

 

1. 디스크 쿼터 개요

  • 사용자별 디스크 사용량을 할당할 수 있는 방법 제공.
    사용자가 할당량을 모두 사용했을때 관리자에게 알림을 통지가능.
  • 디스크 쿼터는 각 사용자마다 또는 각 그룹마다 설정

2. 디스크 쿼터 설정 방법

  • /etc/fstab 파일 편집하여 디스크 쿼터 기능을 활성화. 분할된 파티션에 설정
    별도의 디스크 /etc/sdb5를 생성하고 usrquota와 grpquota를 지정하여 사용자 쿼터와 그룹쿼터 활성화.
    $sudo cat /etc/tstab
  • /etc/fstab 수정사항을 반영하기 위해 해당 파일시스템 remount
    $sudo mount -o remount /quota-test
  • SELinux를 비활성화
    $sudo setenforce 0
  • 사용자를 위한 쿼터 파일 생성하고 디스크 사용량 설정
    $sudo quotacheck -mf /quota-test
  • 그룹을 위한 쿼터 파일 생성하고 디스크 사용량 설정
    $sudo quotacheck -gm /quota-test
  • francis 사용자에 대해 쿼터 정책을 설정
    $sudo edquota francis
  • mygroup 그룹에 쿼터정책 설정
    $sudo edquota -g mygroup
  • 디스크 쿼터 기능 시작
    $sudo quotaon /quota-test
  • 설정 확인
    $sudo repquota /quota-test

 

2) 디스크 쿼터 관련 명령어 

 

1. quotacheck

  • 지정한 파일시스템에 대한 사용량을 체크해 쿼터 기록 파일을 생성하거나 기존의 파일을 갱신
  • 체크할 디렉터리를 지정할 때 독립적으로 분리된 파티션의 마운트 지점이어야 한다.
    분리된 파티션이 없다면 루트 디렉터리인 '/ '지정
  • 쿼터 기록 파일의 파일 이름은 aquota.user, aquota.group
  • 사용량 체크할 때 다른 프로세스의 파일 시스템 접근을 막기위해 파일시스템 읽기전용으로 만들기위해 remount 동작 수행

quotacheck [option] filesystem-dir

 

2. edquota

사용자 또는 그룹을 위한 쿼터를 편집하는 명령어

 

3. repquota

시스템 사용자 및 그룹의 파일시스템 사용량과 쿼터 정보 출력

 

4. quota

사용자의 디스크 사용량과 쿼터 정보를 출력하는 명령어

quota [option] user or group

 

5. quotaon, quotaoff

quotaon은 지정한 파일시스템의 쿼터 설정을 활성화

quotaoff은 비활성화

 

6. setquota

vi 편집기 대신 명령중에서 사용자 및 그룹의 쿼터 설정을 수행

 

bob 사용자가 루트 파일시스템인 / 를 사용할 때 2GB 사용량 제한과 1000000개의 아이노드 제한 설정

$sudo setquota -u bob 2097152 2097152 1000000 1000000/

'Linux' 카테고리의 다른 글

리눅스 설치 및 관리. 일반운영  (0) 2020.08.30
리눅스 프로세스 관리  (0) 2020.08.28
리눅스 사용자 관리  (0) 2020.08.22
네트워크의 설정  (0) 2020.08.19
네트워크 기초  (0) 2020.08.16