mkdir linux
nano helloworld.js
터미널을 열고 폴터 생성을 위한 mkdir 와 nano를 이용해서 생성한다.
Hello World! 라는 문구를 작성 후 ctrl+X , Y, Enter를 순서대로 입력하면 새로운 파일을 저장할 수있다.
위 명령어로 폴더와 파일을 생성했습니다. 이번엔 명령어 ls -l을 입력하고 엔터를 누릅니다.
터미널의 출력 결과를 보면 helloworld.js 는 -rw-r--r-- 이라고 출력이 되었다.
폴더 linux는 drwxr-xr-x라고 출력이 되었다.
이 출력문의 첫 - 와 d 는 각각 not directory와 directory를 나타낸다.
폴더이면 d 파일이면 - 로 나타낸다.
이어지는 r,w,x는 각각 read permission, write permission, execute permisson으로 읽기 권한, 쓰기 권한, 실행 권한을 나타낸다.
3번을 걸쳐 나오는 이유는 사용자와 그룹, 나머지 권한을 보여주기 때문이다.
helloworld.js의 권한은 rw-r--r-- 으로 소유자는 읽기와 쓰기가 가능하고, 다른 사용자 그룹은 읽기만 가능하다.
폴더 linux의 권한은 rwxr-xr-x 으로, 소유자는 읽기와 쓰기, 실행이 가능하고, 다른 사용자 그룹은 읽기와 실행만 가능하다.
ueser는 파일의 소유자이다. 기본적으로 파일을 만든 사람이 소유자가 된다. user를 소유자라고 한다.
group에는 여러 user가 포함될 수 있다. 그룹에 속한 모든 user는 파일에 대한 동일한 group 액세스 권한을 갖는다. 많은 사람이 파일에 액세스를 해야하는 프로젝트가 있다고 가정을 하자. 각 user에게 일일이 권한을 할당하는 대신에 모든 user를 group에 추가하고, 파일에 group 권한을 할당한다.
파일에 대한 액세스 권한이 있는 다른 user이다. 파일을 만들지 않는 다른 모든 user를 의미한다.
other 권한을 설정하면, 해당 권한을 global 권한 설정이라고 한다.
명령어 chmod 폴더나 파일의 읽기, 쓰기, 실행 권한을 변경할 수 있습니다. OS에 로그인한 사용자와, 폴더나 파일의 소유자가 같을 경우에 명령어 chmod 로 폴더나 파일의 권한을 변경할 수 있습니다. 만약 OS에 로그인한 사용자와, 폴더나 파일의 소유자가 다를 경우에는 관리자 권한을 획득하는 명령어 sudo 를 이용해 폴더나 파일의 권한을 변경할 수 있습니다.
명령어 chmod 로 권한을 변경하는 방식은 두 가지 입니다.
첫 번째는 더하기(+), 빼기(-), 할당(=)과 액세서 유형을 표기해서 변경하는 Symbolic method입니다.
두 번째는 rwx를 3 bit로 해석하여, 숫자 3자리로 권한을 표기해서 변경하는 Absolute form입니다.
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, and o) |