본문 바로가기
Develop

Read, Write, Execute 권한

by jaeyoungb 2022. 8. 28.

먼저, 폴더인지 파일인지 확인해보자.

 

폴더를 생성하는 명령어는 mkdir,

파일을 생성하는 명령어는 nano가 있었다.

 

 

명령어 ls -l을 입력하고 enter를 쳐보면, 가장 왼쪽의 첫 글자를 보고 폴더인지 파일인지 분별할 수 있다.

ls -l 명령어 출력 결과 예시

첫 번째는 폴더(d; directory), 두 번째는 파일(-)임을 뜻한다.

 

 

이어지는 rwx는 각각 read permission, write permission, execute permission이다.

한마디로 읽기, 쓰기, 실행 권한을 표시한 것이란 말이다.

 

rwx가 3번에 걸쳐 나타나는 이유는 각각 사용자, 그룹, 나머지에 대한 권한을 표시하기 때문이다.

 

다음 그림을 참고하면 이해하기 쉬울 것이다.

(출처 : https://phoenixnap.com/kb/linux-file-permissions)

 

그럼, 각 부분에 대해서 알아보자.

 

먼저, 사용자(user)는 파일의 소유자를 뜻하며,

기본적으로 파일을 만든 사람이다.

 

그룹(group)은 여러 user가 포함될 수 있고,

그룹에 속한 모든 user는 파일에 대한 동일한 group 액세스 권한을 가진다.

 

나머지(others)는 파일에 대한 액세스 권한이 있는 다른 user를 뜻하며,

보통 파일을 만들지 않은 다른 모든 user라고 볼 수 있다.

others 권한을 설정해주면 해당 권한을 'global 권한 설정'이라고 볼 수 있다.

 

이러한 rwx 권한들을 chmod 명령어로 각각 사용자에 따라 변경할 수 있다.

 

 

chmod 명령어로 권한을 변경하는 데에는 두 가지 방식이 있다.

  • 더하기(+), 빼기(-), 할당(=)과 액세서(accessor) 유형을 표기해서 변경하는 Symbolic method
  • rwx를 3 bit로 해석해서, 숫자 3자리로 표기해서 변경하는 Absolute form

 

먼저, Symbolic method 방식부터 보자.

 

Symbolic method에서는 액세스 클래스, 연산자, 액세스 타입으로 구분한다.

Access Class Operator Access Type
u (user) + (add access) r (read)
g (group) - (remove access) w (write)
o (other) = (set exact access) x (execute)
a (all: u, g, o)    

 

chmod a= hi.txt              ----------
chmod u+rw hi.txt          -rw-------
chmod a+rx hi.txt           -rwxr-xr-x
chmod g-x hi.txt             -rwxr--r-x
chmod a=w hi.txt           --w--w--w-

위와 같이 사용할 수 있다는 예시이다.

 

 

다음으로, Absolute form은 숫자 7까지 나타내는 3 bit의 합으로 표기한다.

Permission Number
Read (r) 4
Write (w) 2
Execute (x) 1

 

(출처 : https://www.reddit.com/r/linux/comments/ayditr/chmod_cheatsheet/)

 

위 사진을 참고하면 이해하기 쉬울 것 같다.

 

적용 방법은 다음과 같다.

chmod 754 hi.txtx         -rwxr-xr--

 

'Develop' 카테고리의 다른 글

CSS  (0) 2022.09.14
환경 변수란?  (0) 2022.08.28
관리자 권한  (0) 2022.08.28
절대 경로와 상대 경로  (0) 2022.08.28
Mac OS 패키지 매니저 - brew  (0) 2022.08.28