Post

Linux - 권한(permission)에 대해 알아보자.

Linux - 권한(permission)에 대해 알아보자.

권한(Permission)이란?

권한이란 특정 사용자가 어떠한 디렉토리, 파일에 접근할 수 있도록 만들어주는 것을 말한다.

접근 가능한 파일인지를 확인하는 방법은 ls를 사용하는 것이다.

파일 권한 확인 명령어

1
ls -l

결과 예시

1
2
3
total 840
lrwxrwxrwx  1 root      root           ...
-rw-r-----  1 syslog    adm            ...
  • syslog: 소유자
  • adm: 소유 그룹

아래 내용이 권한 확인에서 주의깊게 봐야할 부분이다.

1
-rw-r-----

첫 글자는 해당 파일이 디렉터리인지 파일인지 구분하는 것이다.

  • -: 파일
  • d: 디렉터리
1
rw-r-----

위 코드를 기준으로 설명하자면 아래와 같다.

  • 1 ~ 3 글자: 소유자 권한
  • 4 ~ 6 글자: 소유 그룹 권한
  • 7 ~ 9 글자: 그 외 사용자

각 글자들이 의미하는 것들은 파일, 디렉터리에 따라 달라진다.

파일일 경우

  • r(read): 파일 읽기
  • w(write): 파일 수정
  • x(excute): 파일 실행(쉘 스크립트인 경우)

디렉터리인 경우

  • r(read): 디렉터리 내부 파일 조회
  • w(write): 디렉터리 내 파일 생성/제거
  • x(excute): 디렉터리 내부 접근

디렉터리 내부에 파일을 생성/삭제(w)하기 위해선 접근(x) 권한이 필요하기 때문에 대부분의 경우 wx를 같이 부여한다.

권한이 없을 경우 -로 표시된다.

권한 제어

권한을 제어하기 위해선 chmod라는 명령어를 사용하게된다.

chmod 구조

1
chmod [3자리숫자] 파일명

이때 사용되는 숫자는 아래와 같다.

  • r(read): 4
  • w(write): 2
  • x(excute): 1

예시

1
chmod 777 test.txt

각 숫자의 자리는 아래와 같은 의미를 가진다.

1
2
소유자 소유그룹 그외사용자
  7     7      7

이 외에도 아래와 같은 형태로도 사용이 가능하다.

1
chmod +x test.sh

위 커맨드는 소유자, 소유그룹, 그외 사용자 모두에게 실행 권한(x)을 부여한다.

This post is licensed under CC BY 4.0 by the author.