파일 권한 설정과 변경(chmod)

LeeYulhee·2025년 2월 10일

👉 chmod 명령어(권한 변경)


  • 파일의 권한을 변경하는 명령어
    • 숫자 방식(chmod 755 파일명)
    • 문자 방식(chmod u+x 파일명 → 소유자에게 실행 권한 추가)



👉 파일 권한(읽기/쓰기/실행)


  • 파일과 디렉토리의 권한은 소유자, 그룹, 기타 사용자 세 그룹에 대해 각각 설정
    • 읽기(r) : 파일을 읽을 수 있음
    • 쓰기(w) : 파일을 수정할 수 있음
    • 실행(x) : 실행할 수 있음
  • 파일의 권한(읽기, 쓰기, 실행)은 각각 이진수(true/false)로 표현 → 8진수로 변환해서 작성
    • 특정 권한이 있으면 1(true), 없으면 0(false)로 설정



👉 파일 권한 값 정리


권한(rwx)읽기(r)쓰기(w)실행(x)8진수 값설명
rwx1117읽기 + 쓰기 + 실행 (모든 권한)
rw-1106읽기 + 쓰기 권한 있음
r-x1015읽기 + 실행 권한 있음
r--1004읽기(r) 권한만 있음
-wx0113쓰기 + 실행 권한 있음
-w-0102쓰기(w) 권한만 있음
--x0011실행(x) 권한만 있음
---0000아무 권한 없음
  • 이진수로 권한 표현
    r w x
    1 0 0  → 읽기(O), 쓰기(X), 실행(X) = `4`
    0 1 0  → 읽기(X), 쓰기(O), 실행(X) = `2`
    0 0 1  → 읽기(X), 쓰기(X), 실행(O) = `1`
    • 1은 true ⇒ 권한이 있다는 뜻
    • 0은 false ⇒ 권한이 없다는 뜻



👉 권한 표현 방식


  • 권한은 소유자(Owner), 그룹(Group), 기타 사용자(Other) 순서로 3개의 그룹으로 설정
    • 소유자 : 파일 작성자
    • 그룹 : 소유자가 포함된 그룹
    • 기타 사용자 : 소유자도, 그룹도 아닌 모든 사용자로 모든 외부 사용자
  • 예시
    • rwx rwx rwx → (소유자) (그룹) (기타 사용자)
    • 이를 이진수로 표현하면
      rwx rwx rwx
      111 110 100
       7   6   4
      • 8진수(숫자)로 변환하면 "764" 라고 표기할 수 있음
        • rwx (111) = 7
        • rw- (110) = 6
        • r-- (100) = 4
      • 예를 들어 chmod 764 파일명을 입력하면
        • 소유자는 rwx (읽기, 쓰기, 실행 가능)
        • 그룹은 rw- (읽기, 쓰기 가능, 실행 불가)
        • 기타 사용자는 r-- (읽기만 가능)



👉 chmod 사용 예제


chmod 755 script.sh  # 소유자는 모든 권한, 그룹과 기타 사용자는 읽기/실행 가능
chmod u+x script.sh  # 소유자에게 실행 권한 추가
profile
끝없이 성장하고자 하는 백엔드 개발자입니다.

0개의 댓글