TY blog

리눅스 환경변수 설정및 사용이유 본문

운영체제/Linux

리눅스 환경변수 설정및 사용이유

주짓수하는 개발자 2023. 3. 26. 14:47
환경변수 란? 

운영 체제나 응용 프로그램 내에서 설정된 값을 말하며, 해당 환경에서 실행되는 프로그램에서 액세스 하고 사용할 수 있습니다.

이러한 변수는 시스템 경로, 사용자 이름, 비밀번호 또는 프로그램의 동작에 영향을 미칠 수 있는 기타 구성 설정과 같은 정보를 포함할 수 있습니다.

 

1. 시스템에 있는 모든 환경변수를 확인하는 명령어
$ printenv

위 명령어를 통해 시스템에 설정된 환경변수를 확인할 수 있다. 

 

 

2. 환경변수 적용 명령어
$ export "환경변수를 지정할 KEY"="환경변수를 설정할 VALUE"

단 이 방법은 일시적인 적용이며 서버 재부팅 시에 환경변수가 사라진다.

영구적으로 환경변수를 설정하고 싶다면 /etc 폴더에 있는 bash.bashrc 파일을 수정해야한다.

 

bash.bashrc 파일이란 전역적인 시스템 설정을 관리하는 파일입니다. 

재부팅 시에 bash.bashrc 파일이 자동적으로 실행되어 영구적으로 적용시키는 방법이다. 

 

bash.bashrc 파일 수정 ( vim 명령어로 파일을 열고 코드를 추가하면 된다.)

#bash.bashrc 수정
export "환경변수를 지정할 KEY"="환경변수를 설정할 VALUE" -- 파일 상단에 추가

설정 후 환경변수가 적용이 되는 건 아니고 재부팅 시에 적용이 되는데 source 명령어로 스크립트 파일을 실행하여 재부팅 없이 적용할 수 있다.

 

$ source bash.bashrc

source 명령어는 Linux에서 현재 쉘 환경에서 파일에서 명령을 실행하는 데 사용합니다.

 

3. 환경변수 사용이유 

민감한 정보를 소스코드에 노출시키지 않고 환경변수를 통해 적용하기 위해 사용할 수 있습니다. 

private final static String API_KEY = "XXXXXXXXXXXX";
private final static String API_KEY2 = System.getenv("API_KEY2");

자바코드를 예로 들면 System.getenv 함수는 OS에 적용된 환경변수를 KEY값을 통해 VALUE 값을 가져오는 함수이다. 

API 서비스 호출 시에 정상적인 호출인지 아닌지 판단하는 방법은 여러 가지가 있을 수 있지만 KEY값을 헤더에 보내 확인하는 경우가 일반적이다.  

이처럼 고정된 API 키값을 환경변수에 적용시켜 소스코드가 노출되더라도 이중으로 탈취되지 않게 한층 더 보안할 수 있다. 

'운영체제 > Linux' 카테고리의 다른 글

Vi 편집기 문자열 검색 명령어  (0) 2022.01.26
Comments