TIL 47일차 - Linux RWE, 환경변수

박진현·2021년 8월 23일
0

TIL

목록 보기
47/71
  • 폴더인지 파일인지 확인하기


    파일 helloworld.js는 -rw-r--r--이라고 출력되었고, 폴더 linux는 drwxr-xr-x라고 출력되어있다. 제일 앞 글자는 파일인지, 폴더인지를 의미하는데 -일 경우 파일을, d일경우 폴더를 의미한다. 이어지는 r,w,x는 각각 읽기, 쓰기, 실행 권한을 나타낸다. 3번에 걸쳐 나타나는 이유는 사용자/그룹/나머지에 대한 권한을 표시하기 때문이다. helloworld.js의 권한은 rw-r--r--으로 소유자는 읽기와 쓰기가 가능하고 다른 사용자는 읽기만 가능하다. linux폴더의 권한은 rwxr-x-r-x로 소유자는 읽기,쓰기,실행 모두 가능하고 다른 사용자는 읽기와 실행만 가능하다.

  • user, group, other

    • user
      파일의 소유자로 파일을 만든 사람이 소유자가 된다. (user === 소유자)
    • group
      group에는 여러 user가 포함될 수 있다. 그룹에 속한 모든 user는 파일에 대한 동일한 액세스 권한을 갖는다.
    • other
      파일에 대한 액세스 권한이 있는 다른 user. 파일을 만들지 않은 다른 모든 user를 의미한다. 따라서 other 권한을 설정하면, 해당 권한을 global 권한 설정이라고 볼 수 있다.
  • chmod : 권한을 변경하는 명령어

    chmod 명령어로 폴더나 파일의 rwx 권한을 변경할 수 있다. OS에 로그인한 사용자와, 폴더나 파일의 소유자가 같을 경우에 chmod 명령어로 폴더나 파일의 권한을 변경할 수 있다. 만약 OS에 로그인한 사용자와, 폴더나 파일의 소유자가 다를 경우에는 관리자 권한을 획득하는 sudo 명령어를 이용해 폴더나 파일의 권한을 변경할 수 있다.

  • chmod의 두가지 방식

    • 더하기(+),빼기(-),할당(=)과 액세서 유형을 표기해서 변경하는 Symbolic method
    • rwx를 3 bit로 해석해서 숫자 3자리로 권한을 표기해서 변경하는 Absolute form
  • Symbolic method

    • Symbolic method는 액세스 클래스, 연산자, 액세스 타입으로 구분한다.
    Access classOperatorAccess 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)
    • chmod 뒤에 엑세스 클래스의 u,g,o,a를 변경할 조건에 따라 조합하여 입력하고, 연산자와 엑세스 타입을 순서대로 입력한다.
      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까지 나타내는 3 bits의 합으로 표기한다.
    사용자, 그룹, 또는 다른 사용자나 그룹마다 rwx가 나타나고, 각 영역의 boolean 값으로 표기할 수 있다.

    PermissionNumber
    Read (r)4
    Write (w)2
    Execute (x)1

    만약, user는 rwx 를, group과 other은 r-- 로 권한을 변경하려고 한다면, 위 표에 나와있는 숫자의 합을 user, group, other 순으로 입력하면 된다.

    u=rwx (4 + 2 + 1 = 7), go=r (4 + 0 + 0 = 4)
    chmod 744 helloworld.js # -rwxr--r--

  • 환경변수 사용법

    Linux 운영체제는 많은 환경변수가 설정되어 있다. 터미널에 export를 입력하면 기록된 환경변수를 확인할 수 있다.

profile
👨🏻‍💻 호기심이 많고 에러를 좋아하는 프론트엔드 개발자 박진현 입니다.

0개의 댓글