Linux 심화
사용 권한
- ls -l: 파일 또는 폴더의 속성을 리스트로 보여줌
- d/rwx/rwx/rwx: 2번째부터 사용자, 그룹, 나머지에 대한 권한 여부를 표시
- d: 1번째는 폴더인지 아닌지를 표시(directory or not)
- r: read permission(읽기)
- w: write permission(쓰기)
- x: execute permission(실행)
- user, group, other
- user: file의 소유자, 기본적으로 파일을 만든 사람
- group: 여러 user가 포함될 수 있음, 그룹에 속한 그룹원에게 권한을 부여함
- other: 엑세스 권한이 있는 다른 user를 의미, global 권한 설정이라고 볼 수도 있음
- chmod: 권한 변경 명령어, 폴더나 파일의 r,w,x 권한을 변경
- OS에 로그인한 사용자와, 폴더나 파일의 소유자가 같을 경우에 사용 가능
- 다를 경우, sudo를 이용해 변경할 수 있음
- 두가지 방식으로 변경
- Symbolic method
- Absolute form
- 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,o) | | |
chmod a=rw helloworld.js
chmod u= helloworld.js
chmod a+rx helloworld.js
chmod go-wx helloworld.js
chmod a= helloworld.js
chmod u+rwx helloworld.js
- Absolute form
- rwx를 3bit로 해석, 숫자 3자리로 권한을 표기해서 변경
Permission | Number |
---|
Read (r) | 4 |
Write (w) | 2 |
Execute (x) | 1 |
# | Sum | rwx |
---|
7 | 4+2+1 | rwx |
6 | 4+2+0 | rw- |
5 | 4+0+1 | r-x |
4 | 4+0+0 | r-- |
3 | 0+2+1 | -wx |
2 | 0+2+0 | -w- |
1 | 0+0+1 | --x |
0 | 0+0+0 | --- |
chmod 744 helloworld.js
환경변수
- export: 환경변수 확인하기 && 환경변수 임시 적용
- 터미널에 export를 입력해 기록된 환경변수를 확인
- 명령어 export를 이용해 추가할 수 있음
- 명령어 echo와 환경변수를 입력하면, 값을 확인할 수 있음, 환경변수 앞에 $ 표시
- dotenv: 자바스크립트에서 환경변수 사용하기
- npm 모듈 dotenv를 사용하면 자바스크립트에서 환경변수를 사용할 수 있음
- process.env를 이용하면, export로 확인한 내용과 동일한 내용을 객체로 출력함
- .env: Node.js에서 환경변수 영구 적용
- export로 적용한 환경변수는 사용중인 터미널에서 임시로 사용 가능
- .env 파일을 생성하고, 환경변수를 입력하고 저장
- 환경변수를 이용해 API key, DB password와 같은 민감한 정보를 저장, 관리할 수 있음
- 서로 다른 PC 또는 여러 .env 파일에서, 같은 변수 이름에 다른 값을 할당할 수 있음
- 실제 제품(서비스)을 개발하는 과정에서는 개발 환경(local 또는 development)과 테스트 서버의 환경(test), 그리고 실제 제품을 제공하는 환경(production)이 있음