Hello, Freakin world!

[Ubuntu] 로그인 여부에 따른 쉘 환경 본문

OS/Ubuntu

[Ubuntu] 로그인 여부에 따른 쉘 환경

johnna_endure 2020. 5. 29. 19:16
리눅스 커맨드라인 완벽 입문서
국내도서
저자 : 윌리엄 E. 샤츠 주니어 / 이종우,정영신역
출판 : 비제이퍼블릭 2013.01.14
상세보기

이 글의 내용은 위 책의 내용의 일부를 정리한 것들입니다.


시스템에 로그인하면 bash 프로그램이 시작되면서 시작 파일(startup files)이라고 하는 일련의 설정 스크립트를 읽는다. 이 시작 파일은 모든 사용자에게 공유되는 기본적인 환경설정 값을 규정한다. 이어서 개인의 사용자의 환경을 정의하는 홈 디렉토리 내의 시작 파일이 구성된다. 정확한 순서는 실행된 쉘 세션에 따라 달라지게 된다.

 

로그인 여부에 따라 두 종류의 쉘 세션이 있다. 로그인 쉘 세션비로그인 쉘 세션 으로 나뉜다.

 

로그인 쉘 세션

로그인 쉘 세션에서는 사용자 이름과 비밀번호를 입력하도록 되어 있다. 예를 들면 가상 콘솔 세션이 시작할 때다.

로그인 쉘 세션은 아래에 나타난 하나 이상의 시작 파일을 읽어 들인다.

 

로그인 쉘 세션용 시작 파일

파일  내용
/etc/profile 모든 사용자에게 적용되는 일반 환경설정
~/.bash_profile 개인 사용자 시작 파일. 일반 환경설정을 무시할 수 있다.
~/.bash_login ~/.bash_profile 파일이 없으면 bash는 이 스크립트를 읽게 된다.
~/.profile 위의 두 파이링 없으면 bash는 이 파일을 읽는다. 우분투와 같은 데비안 배포판에서는 이 파일이 기본으로 설정되어 있다.

우분투에서 2,3번째 파일은 기본적으로 존재하지 않고 1,4번째 파일만 존재한다.

 

 

비로그인 쉘 세션

일반적으로 GUI 환경에서 터미널 세션을 실행할 때 나타난다.

비로그인 쉘 세션은 아래의 시작 파일을 읽는다.

 

비로그인 쉘 세션용 시작파일

파일  내용
/etc/bash/bashrc 모든 사용자에게 적용되는 일반 환경설정.
~/.bashrc 개인 사용자 시작 파일. 일반 환경설정을 확장하거나 무시할 수 있다.

(우분투에서 위 두 파일 모두 존재함)

 

비로그인 쉘은 이 시작 파일을 읽는 것뿐만 아니라 주로 로그인 쉘 같은 상위 프로세스로부터 환경을 물려 받는다.

~/.bashrc 파일은 일반 사용자 관점에서 아마도 가장 중요한 파일일 것이다. 왜냐하면 항상 참조되는 파일이기 때문이다.

비로그인 쉘 은 기본적으로 이 파일을 읽고, 로그인 쉘용의 시작파일 대부분은 ~/.bashrc 파일을 기본적으로 참조하도록 만들어지기 때문이다.

Comments