2 분 소요

Linux

사용 권한

사용 권환 확인 방법(Mac OS): 터미널에서 ls -l

사진

  • 맨 앞에 d가 있으면 폴더, -면 파일
  • 두번째 자리부터 세자리씩 user/group/other 의 권환 나타냄
  • user
    • 파일의 소유자. 기본적으로 파일을 만든 사람
  • group
    • 여러 user가 포함될 수 있다. 그룹에 속한 모든 user는 파일에 대한 동일한 group 엑세스 권한 가짐
  • other
    • 파일에 대한 접근 권한이 있는 다른 user. Other 권한을 설정하면, global 권한 설정으로 볼 수 있음
권한 변경 방법

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

Symbolic method

더하기(+), 빼기(-), 할당(=)과 엑세스 유형을 표기해서 변경

Access class Operator Access type
u (user) + (add access) r (read)
g (group) - (remove access) w (write)
o (other) = (set exact access) x (execute)
a (all) - -

Symbolic method 사용 예시

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

rwx를 3 bit로 해석하여, 숫자 3자리로 권한을 표기해서 변경

Permission Number
Read (r) 4
Write (w) 2
Execute (x) 1

Absolute form 사용 예시

# Sum rwx Permission
7 4(r) + 2(w) + 1(x) rwx read, write, execute
6 4(r) + 2(w) + 0(-) rw- read, write
5 4(r) + 0(-) + 1(x) r-x read, execute
4 4(r) + 0(-) + 0(-) r– read only
3 0(-) + 2(w) + 1(x) -wx write, execute
2 0(-) + 2(w) + 0(-) -w- write only
1 0(-) + 0(-) + 1(x) –x execute only
0 0(-) + 0(-) + 0(-) none

user는 rwx group과 other은 r--로 권한 변경

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

환경변수

Linux 기반의 운영체제의 PC에는 시스템 자체에 전역변수를 설정할 수 있다. 그리고 시스템에 설정한 전역변수를 환경변수라고 한다. export 를 이용해 환경변수를 설정할 수 있다.

환경변수를 이용해 민감한 정보를 관리할 수 있다. 또한 서로 다른 PC 또는 여러 .env 파일에서 같은 변수 이름에 다른 값 할당할 수 있다.

환경변수 추가

export 명령어로 새로운 환경변수 추가.

# 새로운 환경변수 urclass="is good" 설정. 이때 등호 표시 앞뒤는 반드시 공백이 없어야 함
export urclass="is good"

echo 명령어로 환경변수 값 확인. $를 입력하여 변수라는 뜻을 터미널에 전달

사진

dotenv
  • npm module dotenv로 자바스크립트에서 환경변수 사용. (npm i dotenv)
  • Node.js의 내장객체 process.envexport 와 동일한 내용 확인할 수 있다.
Node.js에 환경변수 영구 적용

export 명령어로 적용한 환경변수는 현재 터미널에서만 임시로 사용 가능. Linux 운영체제에 적용하기 위해 Node.js는 .env 파일을 만들어 저장하는 방법 사용

  1. .env 파일 생성하고, 환경변수 입력 뒤 저장

    # 파일 생성
    nono .env
    # 환경변수 입력, 저장
    myname=hello
    
  2. 해당 파일 수정

    const dotenv = require('dotenv');
    dotenv.config();
    console.log(process.env.myname);
    
  3. 파일 실행하여 확인

    node 파일명.js