Linux 사용권한/환경변수

개발 공부 기록·2021년 7월 24일
0

Linux

목록 보기
2/2
post-thumbnail

사용권한

파일이나 폴더가 있는 디렉토리에 터미널 명령어 ls -l을 입력

첫 시작인 -d는 각각 not directorydirectory를 나타냄
(폴더이면 d로, 파일이면 -)

r, w, x는 각각 read permission, write permission, execute permission으로 읽기 권한, 쓰기 권한, 실행 권한을 나타냄

3번에 걸쳐 나타나는 이유는 사용자와 그룹, 나머지에 대한 권한을 표시

  • user: user는 파일의 소유자로 기본적으로 파일을 만든 사람이 소유자가 된다.
  • group: 그룹에 속한 모든 user는 파일에 대한 동일한 group 액세스 권한을 갖는다.
  • other: 파일을 만들지 않은 다른 모든 user를 의미한다. (global 권한 설정)

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

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

명령어 chmod 로 권한을 변경하는 방식

첫 번째는 더하기(+), 빼기(-), 할당(=)과 액세서 유형을 표기해서 변경하는 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)

액세스 클래스의 u, g, o, a를 변경할 조건에 따라 조합하여 입력하고, 연산자와 액세스 타입을 순서대로 입력

두 번째는 rwx를 3 bit로 해석하여 숫자 3자리로 권한을 표기해서 변경하는 Absolute form

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

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

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

숫자의 합을 user, group, other 순으로 입력하여 사용

#SumrwxPermission
74(r) + 2(w) + 1(x)rwxread, write and execute
64(r) + 2(w) + 0(-)rw-read and write
54(r) + 0(-) + 1(x)r-xread and execute
44(r) + 0(-) + 0(-)r--read only
30(-) + 2(w) + 1(x)-wxwrite and execute
20(-) + 2(w) + 0(-)-w-write only
10(-) + 0(-) + 1(x)--xexecute only
00(-) + 0(-) + 0(-)---none

환경변수

시스템에 설정한 전역변수를 환경변수

export

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

터미널에 명령어 export만 입력해 기록된 환경변수를 확인 가능

export wow="is amazing"

명령어 export 사용하면 새로운 환경변수를 추가 가능
등호 표시(Equal sign, =) 앞뒤에는 반드시 공백이 없어야한다.

echo $wow
=> is amazing

명령어 echo 와 함께 환경변수를 입력하면 환경변수의 값을 확인 가능
환경변수의 앞에는 달러사인($)을 입력하여 변수라는 뜻을 터미널에 전달한다.

dotenv

npm 모듈 dotenv를 사용하면 자바스크립트에서 환경변수를 사용 가능
Node.js의 내장 객체 process.env를 사용하면 명령어 export 로 확인한 내용과 동일한 내용을 객체로 출력 가능

dotenv

.env

Node.js에서 환경변수를 영구적용할 수 있다.

명령어 export 로 적용한 환경변수는 현재 사용 중인 터미널에서만 임시로 사용이 가능
=> Node.js에서는 파일 .env를 만들어 저장하는 방법을 사용

const dotenv = require("dotenv");
dotenv.config();
console.log(process.env.myname);

dotenv.config 메소드를 사용해 .envprocess.env에 적용 가능

환경변수를 이용해 API key, DB password와 같이 민감한 정보를 저장하고 관리 가능하고 서로 다른 PC 또는 여러 .env 파일에서 같은 변수 이름에 다른 값을 할당 가능

개발 환경과 제품을 제공하는 환경에서 사용하는 API 키가 다른 경우 환경변수를 이용해 환경을 구분하여 코드를 작성 가능

데이터베이스도 마찬가지로 개발, 테스트, 제품 환경으로 구분 가능

profile
둔필승총(鈍筆勝聰) - 기억보다는 기록을

0개의 댓글