JSCODE Logo
프로그래밍 과외블로그후기멘토진
회사명 : JSCODE대표 : 박재성사업자 등록번호 : 244-22-01557통신판매업 : 제 2023-인천미추홀-0381 호
학원 명칭 : 제이에스코드(JSCODE)원격학원학원설립ㆍ운영 등록번호 : 제6063호

서울특별시 구로구 경인로 20가길 11(오류동, 아델리아)

Copyright ⓒ 2025 JSCODE - 최상위 현업 개발자들의 프로그래밍 교육 All rights reserved.

이용약관개인정보처리방침
← 블로그 목록으로 돌아가기

[실습] 보안을 위해 파일 접근 권한 제한하기

JSCODE 박재성
JSCODE 박재성
2025-12-06
author
JSCODE 박재성
category
Linux
createdAt
Dec 6, 2025
series
비전공자도 이해할 수 있는 리눅스 입문/실전
slug
practice-secure-file-permissions
type
post
updatedAt
Dec 6, 2025 05:39 AM

✅ 실습 환경 구성

$ su ubuntu # ubuntu 계정으로 전환 $ cd ~ $ touch myfile.txt
여기서 myfile.txt 파일을 보안을 위해 그 누구도 수정하지 못하게 막고 싶은 상황이라고 가정하자. 어떻게 해야 할까?
 
 

✅ 파일 접근 권한 제한하기

  1. 먼저 myfile.txt에 설정된 권한을 파악하기
    1. $ ls -al
      notion image
      방금 생성한 myfile.txt의 권한을 해석해보자.
      • 소유자가 ubuntu이고, 소유 그룹이 ubuntu이다.
      • 빨간 박스의 10글자 분석
        • - : 파일 유형이 일반 파일이다.
        • rw- : 소유자(ubuntu)는 rw에 대한 권한을 가지고 있다. x 권한이 없는 이유는 실행 파일이 아니기 때문이다.
        • rw- : 소유 그룹(ubuntu)은 rw에 대한 권한을 가지고 있다.
        • r-- : 그 외의 사용자(ubuntu 사용자도 아니고, ubuntu 그룹에도 속하지 않은 사용자)는 r 권한만 가진다.
        • [일반 파일인 경우]
          • r : 파일을 읽을 수 있다. (= 파일 내부 내용 확인 가능)
          • w : 파일을 수정할 수 있다.
          • x : 파일을 실행할 수 있다. (실행 파일 또는 쉘 스크립트인 경우)
          * 권한을 r, w, x의 순서로 표시한다. 해당 권한이 없을 경우 -로 표시한다.
           
          [디렉터리인 경우]
          • r : 디렉터리 내부 파일 조회(ls)가 가능하다.
          • w : 디렉터리 내부에 파일을 생성/삭제할 수 있다.
          • x : 디렉터리 내부로 접근(cd)할 수 있다.
          ** 디렉터리 내부의 파일을 생성/삭제(w)하려면 접근 권한(x)이 필수다. 그러다보니 대부분의 경우에는 디렉터리에 w 권한을 부여하고 싶다면 x 권한도 같이 부여하는 편이다.
       
  1. 변경해야 할 권한의 문자가 어떻게 되는 지 생각하기
    1. myfile.txt 파일에 그 누구도 수정할 수 없어야 한다. 그러려면 소유자, 소유 그룹, 그 외의 사용자에 대해 w 권한을 부여하지 않아야 한다. 그러면 권한을 r--r--r--로 설정해야 한다.
       
  1. 변경할 권한의 문자를 숫자로 바꿔 표현하기
    1. 각 권한에 대한 숫자가 아래와 같으니 r--r--r--은 444로 표현할 수 있다.
      r (읽기)
      w (쓰기)
      x (실행)
      4
      2
      1
      따라서 우리가 권한을 변경하기 위해 입력해야 할 명령어는 아래와 같다.
      $ chmod 444 myfile.txt
 
 

✅ 새로운 권한이 잘 적용됐는 지 테스트 해보기

  1. 권한이 잘 바뀌었는 지 확인해보기
    1. $ ls -al
      notion image
 
  1. 수정이 안 되는 지 확인해보기
    1. $ vi myfile.txt
       
      notion image
      vim으로 파일을 열어보면 [readonly]라고 표시가 되어 있다. i 키를 눌러 INSERT 모드로 바꿔보자.
       
      notion image
      그랬더니 하단에 빨간 글씨로 Warning이라는 메시지가 떴다. 무시하고 텍스트를 써본 뒤에 저장해보자.
       
      notion image
      notion image
      에러 메시지가 뜨면서 저장이 안 되는 걸 확인할 수 있다. 즉, 의도한 대로 수정에 대한 권한(w)이 부여되어 있지 않다는 뜻이다.
author
JSCODE 박재성
category
Linux
createdAt
Dec 6, 2025
series
비전공자도 이해할 수 있는 리눅스 입문/실전
slug
type
series-footer
updatedAt
Dec 6, 2025 05:28 AM
📎
이 글은 비전공자도 이해할 수 있는 리눅스 입문/실전 강의의 수업 자료 중 일부입니다.