본문 바로가기

개발인생다반사/TIL(Today i learned)

TIL - 211108 [Linux] 심화

Chapter 1 - 사용권한

Achivement Goals

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

(1) Read, Write, Execute 권한

■ 폴더인지 파일인지 확인하기

 user, group, other

user : 파일의 소유자. 기본적으로 만든 사람이 소유자

group : 그룹에 속한 모든 user는 파일에 대한 동일한 group 엑세스 권한을 가짐

other :  파일에 대한 엑세스 권한이 있는 다른 user. 파일을 만들지 않은 다른 모든 user.

 

 chmod : 권한을 변경하는 명령어

OS에 로그인한 사용자와 폴더나 파일의 소유자가 같을 경우 chmod로 폴더나 파일의 권한을 변경할 수 있다.

만일 로그인 사용자와 파일의 소유자가 다를 경우 관리자 권한을 획득하는 sudo 를 이용해 권한 변경 가능

 

권한 변경 방식

Sybolic method : 더하기(+), 빼기(-), 할당(=)과 엑세스 유형을 표기

Absolute form : rwx를 3bit로 해석하여 숫자 3자리로 권한 표기

 

Symbolic method는 액세스 클래스, 연산자, 액세스 타입으로 구분

 

Access classOperatorAccess Type

엑세스 클래스 연산자(Operator) 엑세스 타입
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)    

symbolic method 사용예시
chmod와 symbloic method로 helloworld.js 파일의 권한을 변경하는 예ㅣ

Absolute form은 숫자 7까지 나타내는 3bit의 합으로 표기

사용자, 그룹 또는 다른 사용자나 그룹맏 rwx가 나타나고 각 영역의 boolean 값으로 표기

PermissionNumber

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

user는 rwx, group과 other는 r--로 권한 변경하는 경우

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

Chapter 2- 환경변수

Achivement Goals

API Key 공개 방지를 위해 PC에 저장해두고 사용할 수 있다. JS 변수에 문자열을 할당하는 것처럼

API Key를 PC에서 사용하는 변수에 할당하고 사용

 

Linux 기반의 운영체제의 PC에는 시스템 자체에 전역변수를 설정할 수 있다ㅏ.

그리고 시스템에 설정한 전역변수를 환경변수라고 한다.

 

  • PC에 저장하는 환경변수가 무엇인지 이해하고, 사용할 수 있다.
    • PC에 저장된 환경변수를 확인할 수 있다. export
    • PC에 저장된 환경변수를 불러올 수 있다. dotenv
    • Node.js에서 환경변수를 영구적용할 수 있다. .env

(1) 환경변수 사용법

export : 환경변수 확인하기 && 환경변수 임시 적용

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

 

export로 새로운 환경변수 추가 가능

새로운 환경변수 추가

등호 표시 앞뒤에는 반드시 공백이 없어야 한다.

명령어 echo와 입력하면 환경변수의 값 확인 가능

 

dotenv: 자바스크립트에서 환경변수 사용하기

npm 모듈 dotenv를 사용하면 JS에서 환경변수 사용 가능.

 

.env : Node.js에서 환경변수 영구 적용

명령어 export로 적용한 환경변수는 현재 사용중인 터미널에서 임시 사용.

환경변수를 Linux운영체제에 저장하기 위해 Node.js에서 파일 .env를 만들어 저장

 

.env 파일을 생성하고, 환경변수로 사용할 내용 저장

모듈dotenv를 이용하면 파일 . env에 저장한 환경변수 조회