# 본 게시글은 작성자 본인의 스터디 목적으로 작성된 글입니다.
# 본 게시글에는 일부 잘못된 정보가 포함되어있을 수 있습니다.
# 이 글을 열람하는 것은 위 사항에 동의하는 것으로 간주합니다.
# 잘못된 정보에 대한 태클 및 지적질 적극 환영합니다.
환경변수는 현재 사용하고 있는 쉘(bash 등)의 실행파일에 대한 위치를 저장하는 변수를 말한다.
환경변수는 변수명과 값으로 구성된다.
리눅스시스템 운영을 최적화하기 위해서는 이 환경변수를 이해하고, 환경변수를 다루는 법을 알고 있어야 한다.
Step 1 : 환경변수 조회 (set, env)
set 명령어는 로컬(지역) 환경변수를 볼 수 있고, env 명령어는 글로벌(전역) 환경변수를 조회할 수 있다.
글로벌 환경변수는 로컬 환경변수의 상위개념으로 보면 된다.
* 로컬(지역) - 사용자 개개인을 위한 설정 내용이며, 특정 사용자에게만 적용된다. 대개 사용자의 홈디렉토리에 숨김파일로 존재함.
* 글로벌(전역) - 쉘을 사용하는 모든 사용자에게 적용되는 설정 내용이며, 일반적으로 /etc 디렉토리에 위치함.
물론 set과 env 명령어를 통해 환경변수의 셋팅도 가능하나, 환경변수를 조회하는 것만 우선 살펴볼 것이다.
먼저 set 명령어를 사용해보자.
Usage : set [옵션] [변수]
# set
set 명령어는 사용자 정의 함수, 별칭(aliases) 목록을 알려준다.
Usage : env [옵션] [변수=값] [명령 [인수...]]
# env
일반적인 환경변수는 다음과 같은 것들이 있다. 아래 소개한 환경변수 외에도 많이 있으니 다른 문서를 통해 스스로 공부하길 권한다.
HOME : 사용자 홈디렉토리
PATH : 실행파일을 찾는 경로
LANG : 프로그램 사용시 기본으로 지원되는 언어
PWD : 현재 작업 디렉토리
TERM : 로그인 터미널 타입
SHELL : 사용하는 쉘
USER : 사용자 이름
HISFILE : history 파일 경로
HISTSIZE : history 파일 크기
BASH : 사용하는 bash 쉘 경로
각 환경변수의 저장된 값은 echo 명령어를 통해 확인할 수 있다.
환경변수명 앞에는 $를 반드시 붙혀줘야 한다.
# echo $HOME
# echo $PATH
Step 2 : 쉘프롬포트 변경
쉘프로폼트는 PS1 변수에 저장되어있다.
먼저 그 내용을 확인해보자.
# echo $PS1
각 기호들의 의미는 아래 링크된 블로그를 통해 확인해보면 된다. 잘 정리되어있다. ㅋ
* PS1 변수에 사용되는 기호와 그 의미 : http://webdir.tistory.com/105
재미삼아 이 프롬포트를 변경해보도록 하자.
# PS1="Mr.Rootable: #"
프롬포트가 Mr.Rootable: # 로 변경되었고, ls 명령어도 잘 실행되고 있다.
이 PS1변수는 위에서 소개한 블로그에도 설명되어있듯이
전체사용자에게 적용하려면 /etc/bashrc 파일에서 PS1 변수 셋팅 부분을 찾아 수정하면 되며,
개별사용자에게 적용하려면 해당 사용자의 홈디렉토리의 숨김파일인 .bashrc 파일에서 수정하면 된다.
Step 3 : 경로(PATH) 수정
리눅스를 사용할 때 가장 중요한 환경변수는 바로 PATH이다.
프로그램을 새로 설치한 경우, 이 PATH를 설정해줘야 하는 경우가 많다.
우선 현재 설정되어있는 값을 확인해보자.
# echo $PATH
스크린샷을 보면, 대개 시스템변수는 /bin과 /sbin 디렉토리에 있다.
즉, 사용자가 실행하는 명령은 $PATH에 저장된 디렉토리를 통해 알 수 있는 것이다.
새로 설치한 프로그램의 PATH를 추가하려면 아래의 명령을 통해 가능하다.
사용자 홈디렉토리에 .profile, .bash_profile 파일 중 하나의 맨 아랫줄을 보면
PATH=디렉토리경로:디렉토리경로:디렉토리경로 와 같은 부분이 존재하며,
이 부분을 수정하여 추가를 해주는 것이 가능하다.
이미 PATH에 값이 설정되어있다면 다음과 같은 명령어로 추가하는 것을 추천한다.
PATH = $PATH:디렉토리경로
편의상 늘상 해오던 nmap의 경로(/usr/share/nmap)를 추가하는 것으로 대신하겠지만
실제로 설치한 프로그램의 실행파일이 있는 디렉토리경로를 사용해야 한다.
# PATH=$PATH:/usr/share/nmap
PATH 환경변수에 정상적으로 추가되었다.<끝>
'HOW TO HACK > Basics' 카테고리의 다른 글
[Metasploit] POST 공격을 위한 유용한 메터프리터 Script (1) | 2016.04.14 |
---|---|
TFTP, Netcat을 이용해 타겟시스템 패스워드 크랙하기 (1) | 2016.04.14 |
해커라면 알아야 할 리눅스 기초-7 : 프로세스 관리 (0) | 2016.04.14 |
해커라면 알아야 할 리눅스 기초-6 : 파일, 디렉토리 권한 조회 및 변경 (1) | 2016.04.14 |
해커라면 알아야 할 리눅스 기초-5 : 네트워크 명령어 (0) | 2016.04.14 |