[TIL] Linux 명령어 - 사용권한, 환경변수

Alex J. Lee·2021년 11월 8일
0

TIL

목록 보기
46/58

Today I Learned

사용권한

  • Linux는 하나의 컴퓨터를 여러 사용자가 사용할 수 있는 멀티유저 운영체제이기 때문에 사용권한 관리가 중요하다. 생성된 파일을 아무나 삭제/변경해서는 안되기 때문이다.

파일 사용권한 확인

ls -l
drwxr-xr-x  2  alex  staff  64 Nov  8  10:00 folder
-rwxr--r--  1  alex  staff  84 Nov  8 10:05 index.js
  1. 파일 타입
  • - : 일반 파일
  • d : 디렉토리
  1. 파일 권한
  • r : read 읽기 권한
  • w : write 쓰기 권한
  • x : execute 실행 권한
  • - : 해당 권한 없음
  • 사용자, 그룹, 나머지 순으로 이어서 표시됨 (ex: rwxr--r-- 사용자는 모든 권한을 가지고 그룹과 나머지는 읽기 권한만 가짐)
  • 사용자(user) : 파일 소유자 (기본적으로 파일을 생성한 사람)
  • 그룹(group) : 여러 사용자가 포함된 그룹. 그룹에 속한 사용자들은 동일한 사용권한을 가짐.
  • 나머지(other) : 파일을 만든 사용자 외 다른 모든 사용자
  1. 링크 수

  2. 파일 소유자

  3. 파일 그룹

  4. 파일 크기

  5. 날짜와 시간

  6. 파일 이름

파일 사용권한 변경

chmod
  • change mode

  • 현재 로그인한 사용자와 파일 소유자가 같을 경우 chmod로 파일 사용권한을 변경할 수 있다. 다를 경우에는 sudo를 사용해 사용권한을 변경할 수 있다.

  • sudo : 일반 사용자가 최상위 사용자 root의 권한을 임시로 빌려 명령어를 실행할 수 있도록 해줌

  1. Symbolic Method
chmod [access class][operator][access type] filename
  • 예 :
chmod u-r index.js # 사용자의 read 권한 제거
chmod g+w index.js # 그룹의 write 권한 추가
chmod o=rw index.js # 나머지에게 read, write 권한 지정 (execute 권한은 없음)
chmod go-wx index.js # 그룹과 나머지에게서 write, execute 권한 제거
  1. Absoulte Form
chmod number filename
  • read는 4, write는 2, execute는 1의 값을 가짐

  • 만약 read, write 권한이 있다면 4 + 2 = 6

  • 예를 들어 744는 사용자는 모든 권한을, 그룹과 나머지는 read 권한만 가짐을 뜻함 (rwxr--r--와 같음)

  • 예 :

chmod 700 index.js # 사용자는 모든 권한을 가지고, 그룹과 나머지는 아무 권한도 없음
chomod 764 index.js # 사용자는 모든 권한을, 그룹은 read와 write 권한을, 나머지는 read 권한을 가짐

환경변수

  • 환경변수란 프로세스가 컴퓨터에서 동작하는 방식에 영향을 미치는 동적인 값들의 모임을 말한다

  • API 키, DB 패스워드와 같은 민감한 정보는 코드 내에 하드코딩 하면 보안 문제가 발생할 수 있다. 환경변수 파일을 외부에 만들어 민감한 정보들을 여기에 저장해 두고 접근하는 식으로 사용하여야 한다.

  • Github 등에 소스코드를 올릴 때 .env는 제외되도록 .gitignore에 추가해 주어야 한다.

환경변수 확인

export
  • 기록된 환경 변수를 확인할 수 있음

환경변수 임시 적용

export variableName=someValue
  • 주의! = 앞뒤 공백이 없어야 함

  • echo $variableName으로 환경변수의 값을 확인해 볼 수 있음

  • export를 사용하는 방법은 임시적이기 때문에 시스템을 재부팅하거다 다시 로그인하면 환경변수가 사라진다

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

  • .env

  • 자바스크립트에서 환경변수를 사용할 수 있게 해 주는 모듈

  • cf. Node.js의 내장객체 process.env를 사용하면 환경변수를 객체로 출력할 수 있다.

Node.js에서 환경변수 영구 적용하기
  1. dotenv 패키지 설치
npm init
npm i dotenv
  1. .env 파일 생성 후 환경변수 입력

  2. dotenv를 사용해 .env에 저장한 환경변수 조회

const dotenv = require('dotenv');
dotenv.config();
console.log(process.env.variableName);
// dotenv.config()를 사용해 .env 파일을 process.env에 적용
profile
🦄✨글 잘 쓰는 개발자가 되기 위해 꾸준히 기록합니다 ✨🦄

0개의 댓글