터미널에서 폴더를 확인했을 때 -rw-r--r--
, drwxr-xr-x
등을 확인할 수 있다.
맨 앞의 - 또는 d는 폴더 여부를 의미하는 non directory, directory이다.
이어지는 r, w, x는 각각 Read, Write, Excute의 의미이며, 3번에 걸쳐 사용자, 그룹, 나머지에 대한 권한을 나타낸다.
명령어 chmod로 폴더나 파일의 권한을 변경할 수 있다.
chmod g-r filename # group의 read permission 제거
chmod o+x filename # other에 excute permission 부여
chmod a= filename # ----------
chmod a=rw filename # -rw-rw-rw-
숫자 7까지 나타내는 3bits의 합으로 표기
예시
chmod 764 filename # -rwxrw-r--
chmod 401 filenmae # -r-------x
환경변수: 시스템에 설정한 전역변수
명령어 export
로 환경변수 설정이 가능하다
export sky="is blue"
(등호 앞뒤로 공백이 있으면 안됨)명령어 echo
와 환경변수를 입력하면 값을 확인할 수 있다. 환경변수 앞에는 달러사인을 입력하여 변수임을 명시한다.
eco $sky
-> is blue
npm 모듈 dotenv로 JS에서 환경변수를 사용할 수 있다. (npm i dotenv
)
명령어 export로 적용한 환경변수는 현재 사용중인 터미널에서만 임시로 사용이 가능하다. 환경변수를 Linux에 저장하는 방법으로 Node.js에서는 파일 .env
를 만들어 저장할 수 있다.
먼저 .env
파일을 생성하고 사용하고자 하는 환경변수를 입력한뒤 저장한다.
nano .env
hero=Ironman
.env
에 저장한 환경변수를 조회할 수 있다.const dotenv = require("dotenv"); // 모듈을 불러와서
dotenv.config();
console.log(process.env.hero);
node index.js
Ironman
sudo?
일반 사용자가 root의 권한을 빌려서 명령어를 실행할 때 활용할 수 있는 명령어
su?
계정 전환, user를 root 권한으로 바꾸는 것
root: 해당 시스템 전체의 관리 권한을 가진 전지전능한 슈퍼 유저
admin: 일반 유저의 하나일 뿐, root가 관리 권한을 줄 수 있다.
user: 일반 계정(일반 계정으로는 개인적인 일, admin으로는 컴퓨터 관리에 관한 일을 수행)
chmod로 권한 설정을 해주어야 하는 이유?
내가 만든 파일이나 디렉토리를 다른 사람이 마음대로 수정하거나 삭제했을 때 문제가 발생할 수 있기 때문에(시스템 해킹 예방)
프로세스: 실행중인 프로그램