[번외] bash 로그인 과정 및 환경 설정

1. 로그인 쉘 vs 비로그인 쉘

구분 설명
로그인 쉘 사용자가 로그인(예: tty, ssh) 시 실행되는 쉘
비로그인 쉘 로그인 이후 터미널을 새로 열거나, 스크립트에서 사용하는 쉘

2. 로그인 쉘의 시작 흐름

  1. 사용자 인증 (ID/PW 입력)
  2. 인증 성공 후 환경 설정 파일 실행 (전역 → 사용자 순)

3. 환경 설정 파일 종류

3.1 로그인 쉘 환경 설정 파일

파일 설명
/etc/profile 시스템 전역 설정
~/.bash_profile 사용자 개인 설정 (우선순위 1)
~/.bash_login 보조 사용자 설정 (우선순위 2)
~/.profile 기본 설정 (우선순위 3)

~/.bash_profile 내에서 ~/.bashrc를 수동으로 호출하는 경우가 많음

3.2 비로그인 쉘 환경 설정 파일

파일 설명
/etc/bash.bashrc 시스템 전역 비로그인 셸 설정
~/.bashrc 사용자 비로그인 셸 설정

4. 환경 설정 파일의 역할

  • 환경 변수 설정: 예) PATH, HOME, LANG, USER
  • alias 설정:
alias ll='ls -la'
  • 프롬프트 설정:
PS1='\u@\h:\w\$ '
  • 로그인 시 실행 명령어 정의

5. 로그인 쉘 실행 순서 요약

/etc/profile → (~/.bash_profile → ~/.bash_login → ~/.profile) → (optional: ~/.bashrc)

6. 비로그인 쉘 실행 순서 요약

/etc/bash.bashrc → ~/.bashrc

7. 설정 파일을 다시 적용하려면?

  • 현재 셸에서 변경된 설정을 다시 적용하려면 source 명령어 사용:
$ source ~/.bashrc

요약

  1. 로그인 쉘과 비로그인 쉘은 실행되는 환경 설정 파일이 다르다.
  2. .bashrc, .bash_profile 등은 사용자의 셸 환경을 초기화하고 커스터마이징하는 데 사용된다.
  3. 설정 변경 후 source 명령어를 사용하면 셸을 재시작하지 않고도 적용할 수 있다.