CLI에서 폴더와 파일 구분하고 Read, Write, Execute 권한 확인하기
mkdir linux
nano helloworld.js
//nano편집기에서 console.log("hello world") 작성한 후
//ctrl+X, Y, enter 클릭
d
: directory-
: not directory첫번째 rwx
: owner두번째 rwx
: group세번째 rwx
: otherr
: read permissionw
: write permissionx
: execute permissionuser
파일을 만든 사람이 파일의 소유자이다. 따라서 user를 소유자라고 하기도 한다.
group
group에는 여러 user가 포함될 수 잇고, 그룹에 속한 모든 user는 파일에 대한 동일한 group 액세스 권한을 갖는다. 많은 사람이 액세스해야하는 프로젝트가 있다고 할때, 각 user에게 일일이 권한을 할당하는 대신에 모든 user를 group에 추가하고, 파일에 group 권한을 할당할 수 있다.
other
파일에 대한 액세스 권한이 있는 다른 user이다. 파일을 만들지 않은 다른 모든 user를 의미한다. 따라서 other 권한을 설정하면, 해당 권한을 global 권한 설정이라고 볼 수 있다.
권한 변경하기
chmod
명령어를 사용하면 폴더나 파일의 읽기(r),쓰기(w),실행(x)권한을 변경할 수 있다. OS에 로그인한 사용자와 폴더나 파일의 소유자가 같을 경우에 명령어 chmod
로 폴더나 파일의 권한을 변경할 수 있다. 만약 OS에 로그인한 사용자와 폴더나 파일의 소유자가 다를 경우에는 관리자 권한을 획득하는 명령어로 sudo
를 이용해 폴더나 파일의 권한을 변경할 수 있다.
chmod
명령어를 사용해서 권한을 변경하는 방식은 +,-,= 등의 액세서 유형을 사용하는 symbolic method와 rwx를 숫자 3자리로 권한을 표기해서 변경하는 absolute form이 있다.
chmod a=rw helloworld.js # -rw-rw-rw-
chmod u= helloworld.js # ----rw-rw- //user가 가지고 있던 권한을 모두 없앰
chmod a+rx helloworld.js # -r-xrwxrwx //ugo에 rx 권한 부여
chmod go-wx helloworld.js # -r-xr--r--
chmod a= helloworld.js # ---------- //ugo가 갖고 있던 권한을 모두 없앰
chmod u+rwx helloworld.js # -rwx------
Permission: r(4), w(2), x(1)
# u=rwx (4 + 2 + 1 = 7), go=r (4 + 0 + 0 = 4)
chmod 744 helloworld.js # -rwxr--r--
//user에 3개 권한을 모두 주고, group과 other에는 읽기 권한만 준다