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
-
: 일반 파일d
: 디렉토리r
: read 읽기 권한w
: write 쓰기 권한x
: execute 실행 권한-
: 해당 권한 없음rwxr--r--
사용자는 모든 권한을 가지고 그룹과 나머지는 읽기 권한만 가짐)링크 수
파일 소유자
파일 그룹
파일 크기
날짜와 시간
파일 이름
chmod
change mode
현재 로그인한 사용자와 파일 소유자가 같을 경우 chmod
로 파일 사용권한을 변경할 수 있다. 다를 경우에는 sudo
를 사용해 사용권한을 변경할 수 있다.
sudo
: 일반 사용자가 최상위 사용자 root
의 권한을 임시로 빌려 명령어를 실행할 수 있도록 해줌
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 권한 제거
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
를 사용하는 방법은 임시적이기 때문에 시스템을 재부팅하거다 다시 로그인하면 환경변수가 사라진다
자바스크립트에서 환경변수를 사용할 수 있게 해 주는 모듈
cf. Node.js의 내장객체 process.env
를 사용하면 환경변수를 객체로 출력할 수 있다.
dotenv
패키지 설치npm init
npm i dotenv
.env
파일 생성 후 환경변수 입력
dotenv
를 사용해 .env
에 저장한 환경변수 조회
const dotenv = require('dotenv');
dotenv.config();
console.log(process.env.variableName);
// dotenv.config()를 사용해 .env 파일을 process.env에 적용