인프라

RHEL 리눅스 권한 체계

Ramda 2025. 2. 20. 10:45

Overview

최근 업무 상 RHEL(Red Hat Enterprise Linux)을 사용하는 경우가 증가하면서, 해당 시스템의 파일 권한 체계를 이해하고 문제 발생 시 원활하게 대응할 필요가 있다. 본 문서에서는 기본적인 권한 체계를 설명한 후, 권한이 다를 경우 발생할 수 있는 문제와 해결 방안을 살펴본다.

파일 권한 관리

모든 파일 또는 디렉토리에는 세 가지 수준의 소유권이 있다.

  • 사용자(Owner, u) – 파일을 소유한 계정
  • 그룹(Group, g) – 소유자가 속한 그룹
  • 기타(Others, o) – 위 두 그룹에 속하지 않는 사용자

그리고 각 소유권에는 아래와 같이 세 가지의 권한이 할당 될 수 있다.

  • 읽기(r) – 파일 내용을 읽을 수 있음
  • 쓰기(w) – 파일을 수정하거나 삭제할 수 있음
  • 실행(x) – 실행 가능한 파일이나 디렉터리를 실행 또는 접근 가능

기본 파일 권한

새 파일이나 디렉토리가 생성될 때마다 기본 권한이 자동으로 할당된다. 아래는 기본 권한에 대한 기호 표시이다.

권한 심볼릭 표현 8진수
권한 없음 - - - 0
실행 - - x 1
쓰기 - w - 2
쓰기 및 실행 - w x 3
읽기 r - - 4
읽기 및 실행 r - x 5
읽기 및 쓰기 r w - 6
읽기, 쓰기, 실행 r w x 7

권한 변경 방법

고객사 환경에서는 root 계정 접근이 불가능한 경우가 많으며, 단일 계정만 사용할 가능성이 높다. 이 경우, 권한 문제 발생 시 직접 해결할 수 있는 방법을 알아본다

기본적인 권한 변경 명령어

  1. chmod (파일/디렉터리 권한 변경)
chmod 755 filename  # 소유자는 읽기/쓰기/실행, 그룹과 기타 사용자는 읽기/실행

chmod u+rwx filename  # 소유자에게 읽기, 쓰기, 실행 권한 추가

chmod g-w filename  # 그룹에서 쓰기 권한 제거

chmod o+r filename  # 다른 사용자(others)에게 읽기 권한 추가
  1. chown (파일/디렉터리 소유자 변경)
chown user filename  # 파일 소유자를 'user'로 변경

chown user:group filename  # 소유자 'user', 그룹 'group'으로 변경

chown -R user:group dirname  # 디렉터리 및 내부 파일들의 소유자와 그룹을 변경
  1. chgrp (그룹 변경)
chgrp groupname filename # 특정 파일의 그룹만 변경

chgrp -R groupname dirname # 디렉터리 및 내부 파일들의 그룹 변경

문제 상황 및 해결 방법

만약 고객사 업무 진행 중 권한 문제가 생기는 경우가 종종 생긴다. 이럴 경우 해결책에 대해 생각해보자

Case #1 - 권한이 없고 그룹도 다를 경우

문제 : 파일을 소유한 사용자도 아니고, 소속된 그룹도 다르면 접근이 불가능하다.

해결 : 파일 소유자 또는 시스템 관리자를 통해 접근 권한을 요청해야 한

Case #2 - 권한은 없지만 그룹은 같은 경우

문제 : 파일 소유 그룹에는 속해 있지만, 그룹 권한이 부족한 경우.

확인 방법 :

ls -l file.txt   # 파일의 그룹 확인
groups          # 현재 사용자의 그룹 확인

해결 : 그룹 권한이 부족하면 chmod 명령어로 필요한 권한을 추가할 수 있다.

chmod g+r file.txt  # 그룹에 읽기 권한 추가
chmod g+w file.txt  # 그룹에 쓰기 권한 추가

추가 고려 사항 : 디렉터리에 실행 권한이 없으면 접근이 불가능하므로 다음 명령을 사용하여 해결할 수 있다.

chmod g+rx dirname  # 그룹에 읽기 및 실행 권한 추가

Case #3 - 파일의 그룹이 다른 경우

문제 : 파일이 속한 그룹이 현재 사용자가 속한 그룹과 다르면 접근할 수 없다.

해결 : 파일 그룹을 변경하여 접근이 가능하도록 설정.

chgrp developers file.txt  # 그룹 변경

또는

chown :developers file.txt  # 동일한 효과

결론

RHEL 환경에서 파일 및 디렉터리 권한 문제는 자주 발생할 수 있으며, 이를 원활하게 해결하기 위해서는 파일 권한 체계를 이해하고 적절한 명령어를 활용해야 한다.

핵심 요약

  • 기본 권한 확인: ls -l, groups
  • 권한 변경: chmod, chown, chgrp
  • 문제 해결:
    • 소유자 및 그룹 변경으로 접근 가능하게 조정
    • 권한이 부족한 경우 chmod를 통해 추가
    • 해결이 어려운 경우 관리자의 도움 요청

위 내용을 숙지하면, 업무 상 발생하는 파일 권한 문제를 효과적으로 대응할 수 있다.

Reference

 

Chapter 11. Managing file system permissions | Red Hat Product Documentation

When a standard user or a root user creates a new directory, the umask is set to 022 (rwxr-xr-x), and the base permissions for a directory are set to 777 (rwxrwxrwx). This brings the default permissions to 755 (rwxr-xr-x).   Symbolic value Octal value Bas

docs.redhat.com