linux (1) 심화 (파일, 폴더의 권한)

5273 단어 linuxlinux

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 : other
  • r : read permission
  • w : write permission
  • x : 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에는 읽기 권한만 준다

좋은 웹페이지 즐겨찾기