파일 권한과 소유권

날아올라돼지야·2024년 9월 15일
0

리눅스 마스터 과정

목록 보기
24/31

1. 파일 권한과 소유권의 기본 개념

리눅스에서 파일과 디렉토리는 각각 소유자그룹, 그리고 기타 사용자로 구분됩니다. 각 사용자 그룹은 파일에 대해 서로 다른 권한을 가질 수 있습니다.

비유: "집, 방, 그리고 열쇠"

  • 파일은 집이나 방과 같습니다. 각 집이나 방에는 주인이 있고, 가족(그룹)이 있으며, 방문자(기타 사용자)가 있을 수 있습니다.
  • 권한은 집이나 방을 열거나 안에서 무언가를 할 수 있는 열쇠와 같습니다. 주인, 가족, 방문자는 각각 다른 열쇠를 가질 수 있습니다.

2. 파일의 소유자와 그룹

  • 소유자(Owner): 파일을 생성한 사용자로, 해당 파일에 대한 가장 강력한 권한을 가집니다. 예를 들어, 집주인이 자신의 방을 자유롭게 사용할 수 있는 것과 같습니다.
  • 그룹(Group): 파일을 함께 사용하기 위한 사용자 그룹입니다. 그룹에 속한 모든 사용자는 이 그룹 권한을 공유합니다. 가족 구성원이 주인과 함께 방을 사용하는 것과 비슷합니다.
  • 기타 사용자(Other): 소유자와 그룹에 속하지 않은 모든 사용자입니다. 이들은 방문자처럼 제한된 권한만 가질 수 있습니다.

3. 파일 권한의 종류

각각의 파일과 디렉토리는 세 가지 종류의 권한을 가질 수 있습니다.

  • 읽기(Read, r): 파일 내용을 읽을 수 있는 권한입니다. 책을 읽을 수 있는 권한과 비슷합니다.
  • 쓰기(Write, w): 파일 내용을 변경하거나 삭제할 수 있는 권한입니다. 책에 글을 쓸 수 있는 권한과 비슷합니다.
  • 실행(Execute, x): 파일을 실행(실행 파일 또는 스크립트)하거나 디렉토리의 경우, 디렉토리에 접근할 수 있는 권한입니다. 문을 열고 방에 들어갈 수 있는 열쇠와 같습니다.

4. 파일 권한의 구조

리눅스에서 파일 권한을 확인하려면 ls -l 명령어를 사용합니다. 예시를 통해 권한 구조를 살펴보겠습니다.

$ ls -l
-rwxr-xr--
  • 위와 같이 표시되는 파일 권한의 각 부분은 다음과 같이 해석됩니다:
    • 첫 번째 문자: 파일 유형 (-은 일반 파일, d는 디렉토리)
    • 다음 세 문자: 소유자 권한 (rwx - 읽기, 쓰기, 실행)
    • 다음 세 문자: 그룹 권한 (r-x - 읽기, 실행)
    • 마지막 세 문자: 기타 사용자 권한 (r-- - 읽기)

비유: "집에 들어가기"

  • 소유자: rwx는 주인이 집에 들어가고(실행), 집 안의 물건을 확인하고(읽기), 물건을 배치하거나 변경할 수 있는(쓰기) 모든 권한을 가집니다.
  • 그룹: r-x는 가족 구성원에게 읽기와 실행 권한을 부여하지만, 집 안의 물건을 변경할 수는 없습니다.
  • 기타 사용자: r--는 방문자에게 집을 구경할 수 있는 권한(읽기)만 주고, 집 안에 들어가거나 물건을 변경할 수 있는 권한은 주지 않습니다.

5. 파일 권한 변경하기

(1) chmod 명령어로 권한 변경

  • chmod 명령어를 사용하여 파일이나 디렉토리의 권한을 변경할 수 있습니다.

  • 형식: chmod [권한] [파일명]

    chmod u+rwx myfile.txt  # 소유자에게 읽기, 쓰기, 실행 권한 부여
    chmod g+rw myfile.txt   # 그룹에 읽기, 쓰기 권한 부여
    chmod o-r myfile.txt    # 기타 사용자에게서 읽기 권한 제거

(2) chown 명령어로 소유자 및 그룹 변경

  • chown 명령어를 사용하여 파일의 소유자나 그룹을 변경할 수 있습니다.

  • 형식: chown [새 소유자]:[새 그룹] [파일명]

    chown user1:group1 myfile.txt  # 소유자를 user1로, 그룹을 group1으로 변경

6. 권한 숫자 표기법

파일 권한을 숫자로 표현할 수 있습니다. 이 숫자는 권한 조합을 나타내는 비트 형식으로 되어 있습니다.

  • 읽기(r): 4
  • 쓰기(w): 2
  • 실행(x): 1

각 권한은 더하여 표현합니다.

  • rwx (읽기+쓰기+실행) = 4 + 2 + 1 = 7
  • rw- (읽기+쓰기) = 4 + 2 = 6
  • r-- (읽기) = 4

예:

chmod 755 myfile.txt  # 소유자: rwx(7), 그룹: r-x(5), 기타: r-x(5)

요약

  • 소유자(Owner), 그룹(Group), 기타 사용자(Other): 파일의 주인, 그 주인과 관련된 그룹, 그리고 그 외의 모든 사용자로 파일 접근 권한을 나눕니다.
  • 읽기(r), 쓰기(w), 실행(x): 각 사용자 그룹이 파일에 대해 갖는 권한의 종류입니다.
  • chmod와 chown: 파일 권한과 소유권을 변경하는 데 사용되는 명령어입니다.

파일 권한과 소유권은 리눅스 시스템의 보안을 유지하고 사용자를 효율적으로 관리하는 데 필수적인 개념입니다. 이 개념을 잘 이해하고 사용하면 시스템을 더 안전하게 보호할 수 있습니다.

profile
무슨 생각하며 사니

0개의 댓글

관련 채용 정보