본문 바로가기
Computer Science/RHCSA® REDHAT9

[RHCSA #10] Chapter 7: Permissions Management (파일 권한 관리)

by rnasterofmysea 2024. 11. 28.
반응형

Chapter 7: Permissions Management (자세히 설명)

핵심 키워드

  • 리눅스 파일 권한
  • 사용자(User), 그룹(Group), 기타 사용자(Others)
  • 읽기(Read), 쓰기(Write), 실행(Execute)
  • SUID, SGID, Sticky Bit
  • 기본 권한 설정(umask)

1. 파일 소유권

리눅스에서 모든 파일은 **소유자(User)**와 그룹(Group), 그리고 **다른 사용자(Others)**로 분류됩니다.

소유권 확인

ls -l filename

출력 예:

-rw-r--r-- 1 john developers 1024 Nov 25 15:32 example.txt
  • john: 파일 소유자.
  • developers: 그룹 소유자.
  • 권한 구조:
    • rw-: 소유자 권한(읽기, 쓰기).
    • r--: 그룹 권한(읽기).
    • r--: 기타 사용자 권한(읽기).

소유권 변경

  • 소유자 변경:
    sudo chown newowner filename
    
  • 그룹 변경:
    sudo chgrp newgroup filename
    
  • 소유자와 그룹 동시 변경:
    sudo chown newowner:newgroup filename
    

2. 파일 권한

리눅스 파일 권한은 세 가지로 나뉩니다:

  • 읽기(Read): 파일 내용을 읽을 수 있음.
  • 쓰기(Write): 파일 내용을 수정할 수 있음.
  • 실행(Execute): 프로그램 실행 가능.

권한 구조

-rwxr-xr--
  • r: 읽기(Read).
  • w: 쓰기(Write).
  • x: 실행(Execute).
  • -: 해당 권한 없음.

권한 변경

  • 심볼릭 방식:
    • u: 소유자(User).
    • g: 그룹(Group).
    • o: 기타 사용자(Others).
  • chmod u+rwx,g+rx,o-r filename
  • 숫자 방식:
    • 7: 소유자(읽기+쓰기+실행).
    • 5: 그룹(읽기+실행).
    • 5: 기타 사용자(읽기+실행).
  • chmod 755 filename

3. 고급 권한: SUID, SGID, Sticky Bit

SUID (Set User ID)

  • 설명:
    • 파일 실행 시 소유자의 권한으로 동작.
    • 주로 root 소유 파일에서 사용.
  • 설정:
    chmod u+s filename
    
  • 확인:
    ls -l filename
    
    출력 예: -rwsr-xr-x

SGID (Set Group ID)

  • 설명:
    • 디렉토리에서 생성된 파일은 해당 디렉토리의 그룹 소유권을 상속.
    • 팀 작업 시 유용.
  • 설정:
    chmod g+s directoryname
    
  • 확인:
    ls -ld directoryname
    
    출력 예: drwxr-sr-x

Sticky Bit

  • 설명:
    • 디렉토리에서 소유자만 파일 삭제 가능.
  • 설정:
    chmod +t directoryname
    
  • 확인:
    ls -ld directoryname
    
    출력 예: drwxrwxrwt

4. 기본 권한 설정 (umask)

umask란?

  • 파일과 디렉토리의 기본 권한을 설정.
  • 현재 umask 확인:
    umask
    
    출력 예: 0022

기본 권한 계산

  1. 파일:
    • 기본 권한 666 - umask = 최종 권한.
    • 예: 666 - 022 = 644
  2. 디렉토리:
    • 기본 권한 777 - umask = 최종 권한.
    • 예: 777 - 022 = 755

umask 설정

umask 027
  • 파일 기본 권한: 640
  • 디렉토리 기본 권한: 750

5. 사용자 확장 속성 (Extended Attributes)

  • chattr: 파일에 확장 속성 추가.
    • 변경 금지 설정:
      chattr +i filename
      
    • 추가만 가능 설정:
      chattr +a filename
      
  • lsattr: 속성 확인.
    lsattr filename
    

6. 실습

1) 파일 권한 설정

  1. 파일 생성:
    touch example.txt
    
  2. 권한 설정:
    chmod 750 example.txt
    

2) 고급 권한 설정

  1. 디렉토리에 SGID 설정:
    chmod g+s /shared
    
  2. Sticky Bit 설정:
    chmod +t /shared
    

3) umask 설정 실습

  1. 현재 umask 확인:
    umask
    
  2. 새 값 설정:
    umask 027
    

7. 권한 관리 요약

명령어 설명

chmod 파일 권한 변경
chown 파일 소유자 변경
chgrp 파일 그룹 변경
ls -l 파일 권한 확인
umask 기본 권한 설정
chattr 확장 속성 추가
lsattr 확장 속성 확인

리눅스 파일 권한 관리는 시스템 보안의 핵심입니다. 파일과 디렉토리 권한 설정을 통해 효과적으로 자원을 보호하고, 팀 작업에서는 고급 권한(SUID, SGID, Sticky Bit)을 활용하여 효율성을 높이세요! 😊

반응형