터미널(CLI)에서 해당하는 명령어를 작성하면 된다.
아무 경로에다 작성하면된다. 없다면 그냥 무난하게 쓸 폴더로 들어가서 하면 되고,
그것도 모르겠다 하면, 그냥 CLI에서 아래의 명령어를 쓰면 된다.
mkdir linux
그러면 해당하는 경로에 linux폴더가 만들어진다.
helloworld.js파일을 만들고, ls -l
을 입력해 보자
~ nano helloworld.js
~ ls -l
-rw-r--r--
drwxr-xr-x
만들었던 helloworld.js
파일과 linux
폴더가 있을것이다.
-와 r,w,d,x가 조합된 내용들이 해당 파일과 폴더에 관한 권한이다
5가지 글자들을 정리 해보자면
10의 길이의 글자 중
1번째는 폴더인지 아닌지를 표현하고
2~4번째 글자는 소유자가 할 수 있는 권한
5~7번째는 소유자가 그룹으로 정한 유저들이 할 수 있는 권한
8~마지막 번째는 소유자, 그룹원 외에 다른 사람이 할 수 있는 권한 이다.
따라서 파일에 있는 -rw-r--r--
는
폴더가 아니고 소유가는 읽기와 쓰기가 가능하며 그룹과 다른 사람은 읽기만 가능하다.
그러면 폴더에 있는 drwxr-xr-x
는?
폴더로, 소유자는 읽기, 쓰기, 실행 권한이 있고, 그룹과 다른 사람들은 읽기와 실행 권한만 있다.
chmod 명령어는 폴더나 파일의 읽기, 쓰기, 실행 권한을 변경할 수 있다.
명령어 chmod로 권한을 변경하는 방식은 두가지가 있다.
Symbolic Method : +,-,= 세가지로 액세서 유형을 표기해서 변경하는 방법
Absolute form: rwx를 3bit로 해석하여 숫자 3자리로 권한을 표기해서 변경하는 방법
chmod g-r filename # removes read permission from group
chmod g+r filename # adds read permission to group
chmod g-w filename # removes write permission from group
chmod g+w filename # adds write permission to group
chmod g-x filename # removes execute permission from group
chmod g+x filename # adds execute permission to group
chmod o-r filename # removes read permission from other
chmod o+r filename # adds read permission to other
chmod o-w filename # removes write permission from other
chmod o+w filename # adds write permission to other
chmod o-x filename # removes execute permission from other
chmod o+x filename # adds execute permission to other
chmod u+x filename # adds execute permission to user
chmod a=rw helloworld.js # -rw-rw-rw-
chmod u= helloworld.js # ----rw-rw-
chmod a+rx helloworld.js # -r-xrwxrwx
chmod go-wx helloworld.js # -r-xr--r--
chmod a= helloworld.js # ----------
chmod u+rwx helloworld.js # -rwx------
Absolute form은 숫자 7까지 나타내는 3bits 의 합으로 표기된다.
만약, user는 rwx 를, group과 other은 r-- 로 권한을 변경하려고 한다면, 위 표에 나와있는 숫자의 합을 user, group, other 순으로 입력하여 사용한다.
chmod 명령어와 Absolute form로 helloworld.js파일의 권한 변경방법
# u=rwx (4 + 2 + 1 = 7), go=r (4 + 0 + 0 = 4)
chmod 744 helloworld.js # -rwxr--r--