[TIL : 32] Linux 사용권한과 환경변수

jabae·2022년 1월 5일
0

TIL

목록 보기
32/44

Achivement Goals : 사용권한

  • 사용 권한과 소유자에 대해 이해하고, 사용 권한을 변경할 수 있다.

    yes! 🙌

  • 파일의 소유자와 파일에 적용된 사용 권한을 확인하고 이해할 수 있다. ls -l

    터미널에서 ls -l을 입력하면 다음과 같은 목록을 볼 수 있다.

    여기 맨 앞에 폴더와 파일의 사용권한을 알 수 있다.

    • d : directory인지 아닌지
    • r : read permission
    • w : write permission
    • x : execute permission

    권한 내용 순서는 다음과 같다. (따라서 rwx가 3번 반복된다.)
    [폴더여부] [소유자권한] [그룹권한] [그외사용자권한]

  • 파일에 적용된 사용 권한을 변경할 수 있다. : chmod

    방법 1. Symbolic method : u(소유자), g(그룹), o(그 외), a(소유자, 그룹, 그 외 모두)
    chmod [사용자(u,g,o,a)][연산자(+,-,=)][권한(r,w,x)] [파일또는폴더이름]

    방법 2. Absolute form : r(4), w(2), x(1)를 3비트로 해석하여 사용
    chmod [8진수] [파일또는폴더이름]

    위의 이미지의 폴더와 파일을 예를 들면,

    chmod a=rwx Folder // drwxrwxrwx
    chmod go-rwx Folder // drwx------
    
    chmod 744 file.js // -rwxr--r--

    이렇게 사용 가능하다.

Achivement Goals : 환경변수

  • PC에 저장하는 환경변수가 무엇인지 이해하고, 사용할 수 있다.

    환경변수란, 시스템에 설정한 전역변수를 뜻한다. 환경변수로 등록한 파일은 사용자의 위치가 그 파일이 위치한 디렉토리가 아니더라도 바로 사용할 수 있다.
    API Key나 DB password 등 민감한 정보를 보안상 PC에 저장하여 사용한다. PC에서 사용하는 변수에 저장하고 관리할 수 있다.

  • PC에 저장된 환경변수를 확인할 수 있다. : export

    터미널에 export를 입력하면 이미 많은 환경변수를 볼 수 있다.
    우리가 추가할 수도 있는데,

    export jabae="so Kind"
    echo $jabae // '$'표시는 변수라는 뜻이다.
    so kind // 입력한 내용이 출력된다!

    이렇게 하면 환경변수가 추가된 것을 확인할 수 있다.

  • PC에 저장된 환경변수를 불러올 수 있다. : dotenv

    dotenv : 자바스크립트에서 환경변수를 사용할 수 있도록 해주는 모듈이다.
    process.env : 사용할 Node.js 내장 객체이다.
    일단 다음과 같이 모듈을 설치해 주어야 한다.

    mkdir [폴더이름] // 사용할 폴더
    cd [폴더이름]
    npm init // 완료될 때까지 엔터를 누른다.
    npm i dotenv

    이렇게 하면 모듈 설치가 완료되었다. 이제 다음과 같이 사용할 수 있다.

    nano index.js // 로 index.js을 연다.
    
    console.log(process.env); // 입력하고 ctrl+x, Y, 엔터를 차례로 눌러준다.
    
    node index.js // node.js 내장 객체 process.env가 출력된다.
    {
    	// process.env 내용
    }
  • Node.js에서 환경변수를 영구적용할 수 있다. : .env

    .env : 모듈 dotenv를 이용해 Node.js에서 환경변수를 영구적으로 사용할 수 있도록 한다. (export로 선언된 환경변수는 현재 사용중인 터미널에서만 사용이 가능하다.)

    nano .env
    
    myname=jabae; // 사용하고자 하는 환경변수를 입력하고 ctrl+x, Y, 엔터를 차례로 눌러준다.
    
    nano index.js 
    
    const dotenv = require("dotenv");
    dotenv.config();
    console.log(process.env.myname); // 위 3줄 입력하고 ctrl+x, Y, 엔터를 차례로 눌러준다.
    
    node index.js // 실행
    jabae // myname에 넣어둔 내용이 출력된다!

그 외 📚

  • 42서울 본과정 공부하랴, 프로젝트 다시 시작하랴, 요즘 바빴어서 백엔드 공부를 미뤄뒀었다. 하지만 프로젝트를 진행하다보니, 백엔드와 소통을 하기 위해서는 내가 어느 정도 알아야 할 것 같아서 빠르게... 마음먹은김에 오늘 시작해버렸다 🥴 칭찬해 나자신 🐣
  • 아직까진 괜찮은데 내일이 약간 무섭다. 나... 잘 이해할 수 있겠지 🤦‍♀️
profile
it's me!:)

0개의 댓글