Read, Write, Execute 권한
폴더나 파일에 대한 사용권한을 변경하고 설정할 수 있다.
일단 사용권한을 먼저 부여하기 전에 파일인지 폴더인지를 CLI에서 어떻게 확인할 수 있을까?
바탕화면에 아래와 같은 CLI 명령어로 폴더와 파일을 만들어본다.
mkdir linux
nano helloworld.js
이렇게 되면 linux라는 폴더와 helloworld.js라는 파일이 만들어졌을 것이다.
터미널에서 권한을 확인하기 위해선 ls-l을 입력하여 파일의 권한과 폴더의 권한을 살펴보자.
위의 명령어로 확인한 결과이다.
linux폴더는 drwxr-xr-x로 나온반면, helloworld는 -re-r--r--로 출력 되었다.
처음시작하는 d와 -는 directory와 not directiry로 폴더인지 파일인지를 확인해준다. 폴더이면 d 파일이면 -로 나타난다.
이후 뒤에 있는 r,w,x의 의미는 읽기, 쓰기, 실행의 권한을 보여주는 것이다.
3번에 걸쳐 나타나는 이유는 사용자, 그룹, 나머지에 권한을 표시해주기 때문이다.
user : 파일의 소유자. 파일을 만든사람이 소유자가 된다.
group : 그룹에 속한 user는 동일한 group권한을 갖게 된다. 만은 사람이 프로젝트가 있다고 할 경우 각각 user에게 권한을 할당하는건 귀찮다. 이런 사람들을 묶어서 권한을 설정할 수 있다.
other : 파일에 대한 접근 권한이 있는 다른 user를 의미한다. 파일을 만들지 않은 다른 모든 user를 말함.
chmod로 폴더나 파일의 r, w, x권한을 변경할 수 있도록 해준다. 권한을 변경하기 위해서는 Symbolic method, Absolute form 두가지 방식이 있다.
Symbolic method는 위에서 봤던것처럼 r,w,x를 할당하여 권한을 부여해준다고 생각하면 되겠다.
user : u
group : g
other : o
all : a
'+' : 권한 부여
'-' : 권한 제거
'=' : 권한 할당
주저리 주저리 떠드는 것보단 예제를 보는게 더 눈에 익어서 좋음.
chmod g-r filename
filename에 있는 g(group)의 접근 권한중 읽기 권한을 제거한다.
chmod g+r filename
filename에 있는 g(group)의 접근 권한중 읽기 권한을 추가한다.
chmod g=rwx helloword.js
helloword.js 파일에 있는 g(group)의 접근 권한중 읽기 쓰기 실행 권한을 할당한다.
Absolute form은 숫자 7까지 나타내는 3bit의 합으로 표기한다.
read(r) = 4
write(w) = 2
execute(x) = 1
숫자의 합을 user, group other순으로 입력하여 사용하면 된다.
chmod 744 helloword.js
user에겐 모든 권한을 부여하고, group과 other는 읽기 권한만 부여하도록 한다.