linux (1) 심화 (파일, 폴더의 권한)
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 permission
user, group and other
-
user
파일을 만든 사람이 파일의 소유자이다. 따라서 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이 있다.
symbolic method
- access class: u (user), g (group), o (other), a (all: u,g,o)
- operator: + (add access), - (remove access), = (set exact access)
- access type: r(read), w(write), x(execute)
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------
absolute form
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에는 읽기 권한만 준다
Author And Source
이 문제에 관하여(linux (1) 심화 (파일, 폴더의 권한)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kaitlin_k/linux-심화저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)