개인 공부/[자격증] 리눅스 마스터 2급

[PART2] 리눅스 운영 및 관리 - Ch.01 파일 시스템 관리

KimNang 2024. 11. 11. 23:59

01. 사용자 권한 및 그룹 설정

파일 및 디렉터리의 속성

- 모든 파일과 디렉터리에는 허가권(permission)과 소유권(ownership)이 부여됨

  1. 파일 및 디렉터리의 상세한 정보 확인
    [root@localhost ~]# ls -l
  2. 구조
    -  rw-r--r--.  1  root  root  45  10월 11 13:44  linux.txt
    ①      ②       ③    ④     ⑤   ⑥         ⑦            ⑧

    파일 유형
    - : 일반 파일
    l : 심볼릭 링크 파일
    d : 장치 파일
    p : 파이프
    c : 문자 파일
    b : 블록 장치 파일
    s : 소켓
    허가권
    링크 수
    소유자명
    그룹명
    파일 크기
    마지막으로 변경된 시간
    파일명
소유권 관련 명령어
  1. chown
    - 파일이나 디렉터리의 사용자 소유권과 그룹 소유권을 변경
    - 파일이나 디렉터리의 사용자 소유권과 그룹 소유권을 한 번에 변경
    - chown의 구분자 : .(마침표), :(콜론)
    • 기본 형식
      [root@localhost ~]# chown [옵션] [사용자 명] [파일/디렉터리명]
      [root@localhost ~]# chown [옵션] [사용자 명].[그룹명] [파일/디렉터리명]
    • 옵션
      -c 소유권 변경 정보 출력
      -f 오류 메시지 출력 안함
      -R 하위 디렉터리를 포함한 모든 파일과 디렉터리의 사용자 소유권 변경
  2. chgrp
    - 파일이나 디렉터리의 그룹 소유권을 변경
    • 기본 형식
      [root@localhost ~]# chgrp [옵션] [그룹명] [파일/디렉터리명]
    • 옵션
      -R 하위 디렉터리를 포함한 모든 파일과 디렉터리의 그룹 소유권을 변경
      -c 변경된 파일만 자세히 출력
      -f 변경되지 않은 파일에 대해선 오류 메시지를 출력하지 않음
      -v 작업상태를 자세히 출력
허가권 관련 명령어

- 파일이나 디렉터리의 허가권을 변경함

- 허가권은 읽기(read), 쓰기(write), 실행(execute)으로 구분 가능함

  • 사용 모드
    - 설정 모드는 '기호 모드' 또는 '숫자 모드'로 설정
      사용자 권한 그룹 권한 제3자 권한
    기호 모드 r w x r w x r w x
    숫자 모드 4 2 1 4 2 1 4 2 1
  • 사용 기호
      사용자 권한 그룹 권한 제3자 권한
    기호 u g o a r w x r w x
    의미 소유자 그룹 제3자 모든
    사용자
    허가권
    부여
    허가권
    제거
    허가권
    지정
    읽기 쓰기 실행
  • 권한
      일반 파일 디렉터리 특수 파일
    읽기(read) 내용 읽기 디렉터리 안 파일/디렉터리 목록을 읽음 read( ) 함수로 파일 읽음
    쓰기(write) 내용 수정 및 제거 디렉터리 안 파일/디렉터리 생성, 수정, 제거 write( )함수로 파일 내용 수정
    실행(execute) 내용 실행 디렉터리 안으로 진입 -
  1. chmod
    - 파일이나 디렉터리의 허가권을 변경
    • 기본 형식
      [root@localhost ~]# chmod [옵션] [허가권] [파일/디렉터리명]
    • 옵션
      -c 소유권 변경 정보 출력
      -R 하위 디렉터리를 포함한 모든 파일과 디렉터리의 사용자 쇼유권 변경
      -v 각 파일의 모드 변경 상태 출력
  2. umask
    - 새로 생성되는 파일이나 디렉터리의 기본 허가권을 지정
    - 'umask'값이 022인 경우 Default 파일 권한은 644로, 디렉터리 권한은 755로 생성
    • 기본 허가권
      Default umask 파일 디렉터리
      022 666 777
        - 022 - 022
      파일/디렉터리 생성 시 644 755
    • 기본 형식
      [root@localhost ~]# umask [옵션] [설정값]
    • 옵션
      -S 'umask' 값을 기호로 출력
특수 허가권

- 프로세스가 실행되는 동안 해당 파일을 실행한 사용자가 아닌 해당 파일을 소유한 사용자의 권한으로 실행하도록 만드는 허가권

  1. 기능
    - 낮은 수준의 사용자가 높은 수준의 자원에 접근 시 접근 제한으로 인해 발생하는 문제를 해결하기 위해 사용
    - 프로세스를 실행하는 동안만 소유자나 그룹 권한으로 실행
    - SetUID, SetGID 비트 : 소문자 's', 대문자 'S', Sticky 비트 : 소문자 't', 대문자 'T'
    - 소문자 : 해당 파일에 실행 권한이 부여되어 있을 경우, 정상적인 권한으로 실행
    - 대문자 : 해당 파일에 실행 권한이 부여되어 있지 않을 경우, 정상적인 권한으로 실행
  2. 허가권
      기호 절대값 설명
    SetUID s 4000 - 파일의 소유자 실행 권한에 UID 설정
    - SetUID가 설정된 파일 실행 시, 특정 작업 수행을 위해 일시적으로 파일 소유자의 권한을 부여하는 비트
    SetGID s 2000 - 파일의 그룹 실행 권한에 GID 설정
    - SetGID가 설정된 파일 실행 시, 특정 작업 수행을 위하여 일시적으로 파일 소유자 그룹의 권한을 부여하는 비트
    Sticky t 1000 - 파일의 제3자 실행 권한에 Sticky Bit 설정
    - Sticky Bit가 설정된 디렉터리 안의 파일에 모든 사용자에게 쓰기 권한이 부여되어 있을 경우에도 파일의 소유자나 'root' 사용자가 아니면 해당 파일을 삭제할 수 없음
    - 누구나 파일을 생성 · 수정은 가능
  3. 특수 비트 활용
    • 기본 형식
      [root@localhost ~]# chmod [설정값] [파일/디렉터리명]
디스크 쿼터 (Disk Quota)

- 파일 시스템별 사용자나 그룹의 사용량을 제한할 경우에 사용

  • 기능
    - 블록(Block) 단위나 아이노드(I-Node)의 개수를 제한함
    - 사용자별, 파일 시스템별로 작동함
  • 관련 파일
    [root@localhost ~]# cat /etc/fstab
  1. 사용자별 쿼터 설정
    [root@localhost ~]# quotaon [옵션] [사용자/그룹명]
    filesystem 사용자별 쿼터 설정 파일 시스템
    blocks 현재 사용자가 사용한 블록 (단위 : KB)
    soft - 사용자가 사용할 수 있는 최대 용량 (초과 가능)
    - 유예 기간 동안 초과 경고 메시지
    hard - 사용자가 사용할 수 있는 최대 용량 (초과 불가능)
    inodes 현재 사용자가 사용한 파일 수 (단위 : 개수)
    soft - 사용자가 사용할 수 있는 최대 파일 수 (초과 가능)
    - 유예 기간 동안 초과 경고 메시지
    hard - 사용자가 사용할 수 있는 최대 파일 수 (초과 불가능)
  2. 쿼터 관련 명령어
    • quotaon
      - 쿼터를 활성화 하는 명령어
      • 기본 형식
        [root@localhost ~]# quotaon [옵션] [사용자/그룹명]
      • 옵션
        -a 모든 파일 시스템에 대해 쿼터 적용
        -g 그룹 쿼터 적용
        -u 사용자 쿼터 적용
        -v 쿼터 적용된 파일 시스템에 대한 상세한 정보 출력
    • quotaoff
      - 파일 시스템에 적용된 쿼터의 사용을 중지하는 명령어
      • 기본 형식
        [root@localhost ~]# quotaoff [옵션] [사용자/그룹명]
      • 옵션
        -a 모든 파일 시스템에 대해 쿼터 중지
        -g 그룹 쿼터 중지
        -u 사용자 쿼터 중지
        -v 쿼터 중지된 파일 시스템에 대한 상세한 정보 출력
    • quotacheck
      - 모든 파일 시스템 점검, 쿼터 설정 및 기록 파일 갱신하는 명령어
      • 기본 형식
        [root@localhost ~]# quotacheck [옵션]
      • 옵션
        -a 모든 파일 시스템에 대해 점검 및 기록 갱신
        -g 그룹 기록 갱신
        -m 파일 시스템을 읽기 전용으로 다시 마운트하지 않음
        -u 사용자 기록 갱신
        -v 실행 결과를 상세히 출력
    • edquota
      - 사용자와 그룹에 대해 쿼터를 설정하고 변경하는 명령어
      • 기본 형식
        [root@localhost ~]# edquota [옵션] [사용자/그룹명]
      • 옵션
        -g 그룹 쿼터 설정 및 변경
        -p 기존 사용자의 할당량 설정을 다른 사용자에게 그대로 복사
        -t 유예 기간 확인 및 변경
        -u 사용자 쿼터 설정 및 변경