오늘은 리눅스기반 환경에서 통용되는 개념인 사용권한과 환경 변수에 대해서 배웠다.

r : read permission
w : write permission
x : execute permission
사용 권한은 위와 같이 약자로 표시되며 총 4부분으로 이루어져 있다.
위의 표시를 이진법으로 다음과 같이 표시할 수도 있다.
약자 = 이진법 = 십진법
rwx = 111 = 7
rw- = 110 = 6
r-x = 101 = 5
r-- = 100 = 4
-wx = 011 = 3
-w- = 010 = 2
--x = 001 = 1
--- = 000 = 0
사용 권한을 확인하기 위해서는 터미널에서 명령어를 통해서 확인할 수 있다.
ls -l 명령어 사용
일반 사용자가 root 권한(관리자 권한)을 빌려서 명령어를 실행할 때 활용할 수 있는 커맨드
계정 전환을 위한 커맨드
내가 만든 파일이나 디렉토리를 다른 사람이 마음대로 수정하거나 삭제되면 심각한 문제가 발생할 수 있기 때문에 설정해주어야 한다.
chmod g-r filename # removes read permission from group
chmod g+r filename # adds read permission to group
chmod g-w filename # removes write permission from group
chmod g+w filename # adds write permission to group
chmod g-x filename # removes execute permission from group
chmod g+x filename # adds execute permission to group
chmod o-r filename # removes read permission from other
chmod o+r filename # adds read permission to other
chmod o-w filename # removes write permission from other
chmod o+w filename # adds write permission to other
chmod o-x filename # removes execute permission from other
chmod o+x filename # adds execute permission to other
chmod u+x filename # adds execute permission to user
chmod a=rw helloworld.js # -rw-rw-rw-
chmod u= helloworld.js # ----rw-rw-
chmod a+rx helloworld.js # -r-xrwxrwx
chmod go-wx helloworld.js # -r-xr--r--
chmod a= helloworld.js # ----------
chmod u+rwx helloworld.js # -rwx------
환경 변수란?
API key와 같이 공개할 수 없는 정보가 코드에 포함될 경우, 네트워크를 통해 공개될 우려가 있다. 이러한 일을 방지 하기 위해서 사용하는 방법이 JavaScript에서 변수에 문자열을 할당하는 것처럼, API key를 PC에서 사용하는 변수에 할당하고 사용할 수 있다.
Linux 기반의 운영체제의 PC에는 시스템 자체에 전역변수를 설정할 수 있다. 그리고 시스템에 설정한 전역변수를 환경변수라 한다. export를 이용해 설정할 수 있다.

터미널에 export 명령어를 입력하면, 현재 성절된 환경변수를 확인할 수 있다. 또한 export를 이용하면 새로운 환경변수를 추가 할수 있다.
명령어 ehco와 함께 환경변수를 입력하시면, 환경변수의 값을 확인할 수 있다. 이때 환경변수의 앞에는 달러사인($)을 입력, 변수라는 뜻을 터미널에 전달해야한다.
export urclass="is good"
-> urclass에 "is good"이라는 문자열이 들어간 변수 선언
echo $urclass
-> 결과값으로 바로 아래줄에 is good이 출력된다.
npm 모듈인 dotenv를 사용하면, 자바스크립트에서 환경변수를 사용할 수 있다. 아래의 과정을 통해서 설치할 수 있다. 이때 생성된 폴더는 설치할 모듈과 이름이 같아서는 안된다.
mkdir 폴더명 # 설치할 폴더 생성
cd 폴더명 # 생성한 폴더에 들어감
npm init # 엔터키를 여러번 입력해 init을 마친다.
npm i dotenv # dotenv 모듈을 설치
설치한 dotenv를 이용해 환경변수에 접근할 수 있다. 새로운 파일 index.js를 생성하고, process.env를 출력한다. Node.js의 내장 객체 process.env를 이용하면, 명령어 export 로 확인한 내용과 동일한 내용을 객체로 출력하게 된다.
process.env는 Node.js 환경에서 조회할 수 있다.