type
status
date
slug
summary
tags
category
icon
password

권한(Permission)

퍼미션은 시스템이나 애플리케이션에서 사용자나 프로세스가 특정 자원에 접근할 수 있는 권한을 의미합니다. 보안과 관련하여 중요한 역할을 하며, 적절한 퍼미션 설정은 데이터를 보호하고 시스템의 무결성을 유지하는 데 필수적입니다.
 
💡
왜 권한이 필요할까요? 권한은 정보의 기밀성과 무결성을 보장하기 위해 필수적입니다. 적절한 권한 설정이 없다면, 무단 접근이나 데이터 손상이 발생할 수 있습니다.
 

계정 권한

💡
uid은 사용자의 고유 ID(User ID)를 나타냅니다. 리눅스 및 유닉스 시스템에서 uid는 각 사용자를 식별하는 고유한 숫자입니다. 1000은 일반적으로 시스템에서 생성된 첫 번째 일반 사용자 계정에 할당되는 uid입니다.
0root 입니다.
 

Wheel 그룹

Wheel 그룹은 주요 시스템 관리 작업을 수행할 수 있는 사용자들을 포함합니다. 이 그룹에 속한 사용자는 su 명령어를 사용하여 root 권한을 얻을 수 있습니다.
💡
왜 sudo 권한을 가진 그룹이 필요할까요?
시스템 보안 측면에서 볼 때, 특정 사용자만이 중요한 시스템 관리 작업을 수행할 수 있도록 제한하는 것이 중요합니다.
 
Wheel 그룹에 사용자를 추가하려면 다음 명령어를 사용하세요:
이 명령어는 [사용자명]을 Wheel 그룹에 추가하여, 해당 사용자가 sudo 명령어를 사용하여 root 권한을 얻을 수 있게 합니다.
 
사용자가 wheel 그룹에 속해 있는지 확인하려면 다음 명령어를 사용할 수 있습니다:
이 명령어는 사용자가 속한 그룹 목록을 출력합니다.
목록에 wheel 그룹이 포함되어 있으면 사용자가 wheel 그룹에 속해 있는 것입니다.
 
💡
sudo 와 su의 차이가 뭐죠? sudo 명령어는 특정 명령어를 슈퍼유저 권한으로 실행할 수 있게 해주는 반면, su 명령어는 현재 사용자 세션을 슈퍼유저로 전환합니다. sudo는 특정 작업에만 제한된 권한을 부여하는 데 유용하며, su는 전반적인 시스템 관리 작업에 유용합니다.
SU
notion image
 
SUDO
notion image

권한 확인 절차

  1. uid 확인
  1. gid 확인
 

파일 권한

chmod

chmod 명령어는 파일이나 디렉터리의 접근 권한을 변경하는 데 사용됩니다. 이 명령어는 파일 소유자, 그룹, 기타 사용자에 대해 읽기, 쓰기, 실행 권한을 설정할 수 있습니다.
notion image

권한 유형

  • r (read): 읽기 권한
  • w (write): 쓰기 권한
  • x (execute): 실행 권한

권한 설정 방식

  • 기호 방식: 권한 유형을 기호로 지정 (예: u+r, g-w, o+x)
    • u: 소유자 (user)
    • g: 그룹 (group)
    • o: 기타 사용자 (others)
    • a: 모든 사용자 (all)
  • 숫자 방식: 권한 유형을 숫자로 지정 (예: chmod 755)
    • r: 4, w: 2, x: 1

예제

기호(Symbol) 방식 예제
  • 파일 example.txt에 소유자에게 읽기 권한을 추가합니다:
    • 파일 example.txt에 그룹에서 쓰기 권한을 제거합니다:
      • 파일 example.txt에 기타 사용자에게 실행 권한을 추가합니다:
        • 모두에게 특정 권한을 줄 때
        숫자(Octet) 방식 예제
        • 디렉터리 mydir에 소유자에게 읽기, 쓰기, 실행 권한을 부여하고, 그룹과 기타 사용자에게 읽기 및 실행 권한을 부여합니다:
          • 파일 example.txt의 소유자에게 모든 권한을 부여하고, 그룹과 기타 사용자에게 읽기 권한만 부여합니다:
             

            umask

            umask는 파일이나 디렉토리가 생성될 때 기본적으로 설정되는 권한을 제어하는 값입니다. 기본 파일은 666 (rw-rw-rw-)의 권한을 가지고, 디렉토리는 777 (rwxrwxrwx)의 권한을 가집니다. 그러나 umask 값에 따라 이러한 권한이 제한됩니다.
            💡
            왜 쓰나요? umask 값은 보안과 접근 제어를 위해 사용됩니다. 기본적으로 생성되는 파일 및 디렉토리의 권한을 제한함으로써, 무단 접근을 방지하고 시스템의 무결성을 유지하는 데 도움을 줍니다. 예를 들어, umask 값이 022인 경우, 새로 생성된 파일은 644 (rw-r--r--) 권한을 가지며, 디렉토리는 755 (rwxr-xr-x) 권한을 갖게 되어, 소유자 이외의 사용자에게 쓰기 권한을 부여하지 않게 됩니다.
             
            • umask 값의 첫 번째 숫자 0은 특별한 의미가 없음
            • umask 값은 4자리 8진수로 표현됨
            • 각 자리는 파일 생성 시의 기본 권한을 제한
            • 첫 번째 자리는 특별한 파일 유형이나 속성에 대한 것
            • 대부분의 경우 첫 번째 자리는 0으로 설정됨
            • 실질적인 권한 제한은 뒤의 세 자리(사용자, 그룹, 기타 사용자)에 의해 이루어짐
            • 일시적이기 때문에 세션 종료 후 기본값으로 돌아옴
             
             
            쉘(Shell)디렉터리(3) - 파일 편집
            Loading...