파일이나 폴더가 있는 디렉토리에 터미널 명령어 ls -l
을 입력
첫 시작인 -
와 d
는 각각 not directory와 directory를 나타냄
(폴더이면 d로, 파일이면 -)
r, w, x는 각각 read permission, write permission, execute permission으로 읽기 권한, 쓰기 권한, 실행 권한을 나타냄
3번에 걸쳐 나타나는 이유는 사용자와 그룹, 나머지에 대한 권한을 표시
user
: user는 파일의 소유자로 기본적으로 파일을 만든 사람이 소유자가 된다.group
: 그룹에 속한 모든 user는 파일에 대한 동일한 group 액세스 권한을 갖는다.other
: 파일을 만들지 않은 다른 모든 user를 의미한다. (global 권한 설정)폴더나 파일의 읽기, 쓰기, 실행 권한을 변경 가능
OS에 로그인한 사용자와 폴더나 파일의 소유자가 같을 경우에 명령어 chmod
로 폴더나 파일의 권한을 변경 가능
다를 경우에는 관리자 권한을 획득하는 명령어 sudo
를 사용해 폴더나 파일의 권한을 변경 가능
첫 번째는 더하기(+), 빼기(-), 할당(=)과 액세서 유형을 표기해서 변경하는 Symbolic method
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: u, g, and o) |
액세스 클래스의 u, g, o, a를 변경할 조건에 따라 조합하여 입력하고, 연산자와 액세스 타입을 순서대로 입력
두 번째는 rwx를 3 bit로 해석하여 숫자 3자리로 권한을 표기해서 변경하는 Absolute form
Absolute form은 숫자 7까지 나타내는 3 bits의 합으로 표기
Permission | Number |
---|---|
Read (r) | 4 |
Write (w) | 2 |
Execute (x) | 1 |
사용자, 그룹, 또는 다른 사용자나 그룹마다 rwx 가 나타나고 각 영역의 boolean 값으로 표기 가능
숫자의 합을 user, group, other 순으로 입력하여 사용
# | 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 |
시스템에 설정한 전역변수를 환경변수
export
: 환경변수 확인하기 && 환경변수 임시 적용
터미널에 명령어 export
만 입력해 기록된 환경변수를 확인 가능
export wow="is amazing"
명령어
export
사용하면 새로운 환경변수를 추가 가능
등호 표시(Equal sign, =) 앞뒤에는 반드시 공백이 없어야한다.
echo $wow
=> is amazing
명령어
echo
와 함께 환경변수를 입력하면 환경변수의 값을 확인 가능
환경변수의 앞에는 달러사인($
)을 입력하여 변수라는 뜻을 터미널에 전달한다.
npm 모듈 dotenv
를 사용하면 자바스크립트에서 환경변수를 사용 가능
Node.js
의 내장 객체 process.env
를 사용하면 명령어 export
로 확인한 내용과 동일한 내용을 객체로 출력 가능
Node.js에서 환경변수를 영구적용할 수 있다.
명령어 export 로 적용한 환경변수는 현재 사용 중인 터미널에서만 임시로 사용이 가능
=> Node.js에서는 파일 .env를 만들어 저장하는 방법을 사용
const dotenv = require("dotenv");
dotenv.config();
console.log(process.env.myname);
dotenv.config
메소드를 사용해 .env
를 process.env
에 적용 가능
환경변수를 이용해 API key, DB password와 같이 민감한 정보를 저장하고 관리 가능하고 서로 다른 PC 또는 여러 .env
파일에서 같은 변수 이름에 다른 값을 할당 가능
개발 환경과 제품을 제공하는 환경에서 사용하는 API 키가 다른 경우 환경변수를 이용해 환경을 구분하여 코드를 작성 가능
데이터베이스도 마찬가지로 개발, 테스트, 제품 환경으로 구분 가능