linux 계정, 권한 정리

이민재·2026년 4월 27일

linux 계정, 권한 정리

1. ls -al 출력 구조

-rwxr-x--- 1 myaccount mygroup 1234 Apr 27 test.txt

각 항목 의미

항목설명
-rwxr-x---권한
myaccount소유자 (user)
mygroup그룹 (group)
test.txt파일명

2. 권한 구조 (핵심)

권한은 항상 아래 순서로 나뉜다:

rwx | r-x | ---
 u    g     o
구분의미
u (user)소유자
g (group)그룹
o (others)나머지

3. 권한 종류

권한의미
r읽기
w쓰기 (수정)
x실행

4. 권한 적용 기준 (매우 중요)

권한은 단 하나만 적용된다

우선순위:
1. 1순위: user (소유자)
2. 2순위: group
3. 3순위: others

내가 어떤 위치에 속하느냐에 따라 권한이 결정됨


5. 사용자 조건

  • 내 계정: myaccount
  • 내 그룹: mygroup
  • 다른 계정: anotheraccount
  • 다른 그룹: anothergroup

케이스별 권한 해석

1. 내가 만든 파일
-rwxr-x--- myaccount mygroup file.txt

  • 나 (myaccount): user 권한 적용 (rwx)
    • 읽기 (가능), 수정 (가능), 실행 (가능)
  • 같은 그룹 (mygroup): group 권한 적용 (r-x)
    • 읽기 (가능), 수정 (불가능), 실행 (가능)
  • 다른 사용자: others (---)
    • 아무것도 못함 (불가능)

2. 내가 만든 파일 (다른 그룹)
-rwxr-x--- myaccount anothergroup file.txt

  • : rwx (모든 권한)
  • 내 그룹 (mygroup): group 아님 -> others 적용 (---)
    • 접근 불가

3. 다른 사람이 만든 파일 (같은 그룹)
-rwxr-x--- anotheraccount mygroup file.txt

  • : group 권한 (r-x)
    • 읽기 (가능), 수정 (불가능), 실행 (가능)

4. 완전히 남의 파일
-rwxr-x--- anotheraccount anothergroup file.txt

  • : others (---)
    • 접근 불가

6. 디렉토리 권한 (중요)

drwxr-x--- myaccount mygroup mydir/

디렉토리 권한 의미

권한의미
r파일 목록 조회 (ls)
w파일 생성/삭제
x디렉토리 진입 (cd)

해석

  • user (myaccount): rwx
    • ls (가능), cd (가능), 파일 생성/삭제 (가능)
  • group (mygroup): r-x
    • ls (가능), cd (가능), 생성/삭제 (불가능)
  • others: ---
    • 접근 자체 불가

7. 자주 사용하는 권한 숫자

숫자의미
755소유자만 수정, 나머지는 읽기/실행
644소유자만 수정, 나머지는 읽기
700나만 접근
777모두 가능 (매우 위험)

8. 권한과 소유자 변경 (필수 명령어)

권한이나 소유자를 변경할 때는 주로 두 가지 명령어를 사용합니다.

1. 대상의 권한 변경 (chmod)

  • chmod 755 file.txt (숫자 방식: 소유자 rwx, 나머지는 r-x)
  • chmod u+x file.txt (기호 방식: 소유자(u)에게 실행(x) 권한 추가)

2. 대상의 소유자/그룹 변경 (chown)

  • chown myaccount file.txt (소유자 변경)
  • chown myaccount:mygroup file.txt (소유자와 그룹 동시 변경)
  • 보통 소유권을 넘기는 작업은 보안상 슈퍼 유저 권한이 필요하여 보통 sudo와 함께 사용합니다.

9. 절대 권력자: root 계정과 sudo

  • root 계정: 시스템의 모든 권한을 가진 최고 관리자입니다. 앞서 설명한 rwx 권한을 무시하고 어떤 파일이든 읽고 쓰고 실행할 수 있습니다.
  • sudo 명령어: 일반 사용자가 일시적으로 root의 권한을 빌려 올 때 사용합니다. (예: sudo chown ...)

10. 실무 권한 에러 해결 (Troubleshooting)

1. "Permission denied" 에러가 날 때 확인법

  • 내가 이 파일의 소유자(user)인가? 아니면 그룹(group)에 속해있는가?
  • 디렉토리에 진입(cd)하거나 안의 파일을 읽으려 할 때, 해당 디렉토리에 실행(x) 권한이 있는지 확인해보세요. (디렉토리는 x가 있어야 접근 가능합니다)

2. 웹 서버(Nginx, Apache) 사용 시 403 Forbidden

  • 사용자가 만든 파일을 웹 서버가 읽지 못해서 발생합니다. 해당 프로젝트 폴더의 소유자를 웹 서버 사용자인 www-data(또는 nginx 계정 권한)로 맞추거나, 다른 사용자(others)에게 읽기/실행 권한을 주어야 합니다.

11. 핵심 요약

  • 권한은 하나만 적용된다.
  • 내가 소유자면 무조건 user 권한이 적용된다.
  • 그룹이면 group 권한이 적용된다.
  • 둘 다 아니면 others가 적용된다.
  • 결국 핵심은 이것 하나: "나는 이 파일에서 user / group / others 중 어디에 속하는가?"

한줄 정리
Linux 권한은 "누가(user/group/others) 무엇을(r/w/x) 할 수 있는지"를 정의한다.

profile
초보 개발자

0개의 댓글