hhkb.dev

BLOG

2025-11-12 / 리눅스명령어 · 04

권한 명령어

1. 리눅스 권한(Permission) 구조

ls -l로 파일 목록을 볼 때 나오는 문자열(예: -rwxr-xr-x)은 파일 타입과 권한을 함께 보여 준다.

1.1 권한 표기법(10자리)

맨 앞 한 자리와 뒤 9자리를 나눠 보면 이해가 쉽다.

  • 첫 번째 자리: 파일 타입
    • -: 일반 파일
    • d: 디렉토리(Directory)
  • 나머지 9자리: 권한 설정이다. 3자리씩 끊어서 읽는다.
    1. User(소유자)
    2. Group(그룹)
    3. Others(그 외)

1.2 권한의 종류(R, W, X)

문자의미설명숫자 값
rRead읽기 권한4
wWrite쓰기 권한2
xExecute실행 권한1
-None권한 없음0

2. 권한 변경(Change Mode)

chmod

  • 개요: 파일이나 디렉토리 권한을 바꿀 때 쓰는 명령어다.
  • 계산은 8진수 표기법으로 본다.
    • 원하는 권한 숫자를 더한다. 예: 읽기(4) + 쓰기(2) = 6
    • User, Group, Others 순서로 3자리를 적는다.

2.1 예시

대표 예시는 아래 세 가지다.

  1. chmod 777 file
    User, Group, Others 모두 7이라 전부 읽기, 쓰기, 실행이 열린다. 보안상 위험해서 신중해야 한다.
  2. chmod 644 file
    소유자는 읽기와 쓰기, 나머지는 읽기만 가능하다. 일반 파일에서 자주 본다.
  3. chmod 755 script.sh
    소유자는 전부 가능하고, 나머지는 읽기와 실행만 가능하다. 실행 파일이나 스크립트에서 자주 쓴다.

파일을 읽거나 실행할 때 Permission Denied가 나오면, 먼저 ls -l로 현재 권한을 보고 필요한 범위만 chmod로 조정하는 순서로 가면 된다.