Linux 사용 권한, 환경변수

yezo cha·2021년 7월 19일
0

Linux

목록 보기
2/2
post-thumbnail

Read, Write, Execute 권한

폴더인지 파일인지 확인하기

모든 파일에는 사용자마다 접근할 수 있는 권한이 있다.
파일을 읽을 수 있어도 실행하지 못할 수도 있고, 디렉토리에 들어가도 파일을 읽을 수 없을 수도 있다.
리눅스에서는 파일마다 정교하게 권한을 설정할 수 있다.
보안상 접근 권한을 정확히 설정해주는 것이 좋다.

한 번 파일을 조회해보자.

폴더 내에 있는 파일을 조회하기 위해서는 ls -l 명령어를 사용하면 된다.
-l은 파일에 대한 권한 정보를 보기 위해서 필요한 옵션이다.
아래와 같은 구조의 리스트를 확인할 수 있다.

chmod: 권한을 변경하는 명령어

Symbolic method 문자 이용하기

명령어 chmod 뒤에 변경할 권한을 입력한다.
액세스 클래스의 u, g, o, a를 변경할 조건에 따라 조합하여 입력하고, 연산자와 액세스 타입을 순서대로 입력하면 된다.

chmod [a,u,g,o][+,-,=][r,w,x] 순으로 선택해서 조합할 수 있다.

  • a,u,g,o : Access class. 권한을 부여할 대상.
    • a : 전체. (all: u, g, and o).
    • u : 소유자. user. 기본적으로 파일을 만든 사람이 소유자.
    • g : 소유 그룹. group에는 여러 user가 포함될 수 있다.
      그룹에 속한 모든 user는 파일에 대한 동일한 group 액세스 권한을 갖는다.
    • o : others. 파일을 만들지 않은 다른 모든 user.
  • +,-,= : Operator.
    • + : add access. 추가
    • - : remove access. 제거
    • = : set exact access. 업데이트(기존 권한 무시하고 새롭게)
  • r,w,x : Access Type.
    • r : read.
    • w : write.
    • x : execute.
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 go-w sample
chmod u=rwx, go-wx sample # 소유자에게는 읽기,쓰기,실행 권한을 부여하고 / 그룹과 기타 사용자에게는 쓰기,실행 권한 제거.

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------

Absolute form 숫자 이용하기

rwx 문자가 아니라 각각의 자리값을 합친 값으로 권한을 부여할 수 있다.
숫자 7까지 나타내는 3 bits의 합으로 표기한다.
r=4, w=2, x=1이다. 예를 들어, rwx권한은 4+2+1=7이 된다.

chmod 644 sample # 소유자에게는 읽기,쓰기(6) / 그룹 과 기타 사용자에게는 읽기(4) 
chmod 777 sample # 모든 사용자에게 읽기,쓰기,실행(7) 권한을 부여

# u=rwx (4 + 2 + 1 = 7), go=r (4 + 0 + 0 = 4)
chmod 744 helloworld.js # -rwxr--r--
SumrwxPermission
4(r) + 2(w) + 1(x)rwxread, write and execute
4(r) + 2(w) + 0(-)rw-read and write
4(r) + 0(-) + 1(x)r-xread and execute
4(r) + 0(-) + 0(-)r--read only
0(-) + 2(w) + 1(x)-wxwrite and execute
0(-) + 2(w) + 0(-)-w-write only
0(-) + 0(-) + 1(x)--xexecute only
0(-) + 0(-) + 0(-)---none

파일 권한에 대한 레퍼런스

환경변수 사용법

아무런 인자없이 export 명령을 내리면 전체 환경 변수 목록을 확인할 수 있다.
export 명령에 환경 변수와 = 기호와 값을 표현해서 환경 변수의 값을 설정할 수 있다.

특정 환경 변수의 값을 확인할 때는 echo 명령을 사용한다.
명령어 echo 와 함께 환경변수를 입력하면, 환경변수의 값을 확인할 수 있다.
이때 환경변수의 앞에는 달러사인($)을 입력하여, 변수라는 뜻을 터미널에 전달해준다.

export
export SHELL=/bin/bash
echo $SHELL

dotenv: 자바스크립트에서 환경변수 사용하기

자세한 내용은 따로 포스트를 작성해야겠다

npm 모듈 dotenv를 사용하면, 자바스크립트에서 환경변수를 사용할 수 있다.
npm 모듈을 설치하고 사용하기 위해서, 새로운 폴더를 만들고 npm init 을 입력한다. 그리고 npm i dotenv 를 입력해 모듈을 설치한다.
이때 생성된 폴더는 설치할 모듈과 이름이 같아서는 안된다.

mkdir environment_variable
cd environment_variable
npm init     # 엔터 키를 여러번 입력해 init 완료.
npm i dotenv # dotenv 모듈을 설치.

profile
(ง •̀_•́)ง

0개의 댓글