레벨231-5 : 리눅스서버로의 로그인부터 로그아웃까지의 과정이해
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 2,366 조회
- 1 추천
- 목록
본문
레벨231-5 : 리눅스서버로의 로그인부터 로그아웃까지의 과정이해
흔히 우리는 리눅스 서버가 부팅한 후에 리눅스서버를 사용하기 위하여 로그인을 합니다. 이때 로그인을 하면 바로 bash쉘의 쉘프롬프트가 콘솔(또는 터미널)에 나와서 명령어의 입력을 기다리고 있습니다.
여기서 우리는 로그인부터 쉘 프롬프트가 나오는 과정까지의 진행상황을 알아야 할 필요가 있습니다. 이를 이해하는 것은 리눅스 서버를 이해하는 가장 기본이 될 수 있기 때문입니다.
즉, 어떤 사용자가 리눅스로 로그인을 하여 쉘프롬프트가 나오는 과정까지를 간단히 정리하면 다음과 같습니다.
과정1. “login :” 프롬프트에서 사용자가 자기의 ID를 입력합니다.
(참고 : 이 책의 login편을 참조하십시오.)
과정2. “Password :” 에 패스워드를 입력합니다.
과정3. /bin/login프로세스는 해당사용자의 인증에 관련된 파일들(/etc/passwd, /etc/shadow, /etc/group등)을 참조하여 해당사용자의 기본정보(ID, password, UID, GID, 홈디렉토리,사용쉘등)들을 확인합니다.
과정 4. 이들 정보를 이용하여 사용자가 입력한 ID와 password의 입력이 정확할 경우에 /bin/login프로세스는 해당 사용자의 로그인(기본사용쉘)쉘을 불러들여서 사용자의 로그인 인증과정이 끝났다고 알리고 리눅스 사용을 위한 쉘환경을 제공할 것을 요구합니다. 이때 리눅스의 기본 쉘이 bash쉘이므로 거의 모든 사용자의 사용쉘로 bash쉘이 사용되는 것입니다.
과정 5. bash쉘은 해당사용자에 대한 시스템 전체환경을 제공하기 위하여 /etc/profile을 불러들여서 해당 사용자에게 적용합니다. (이 책의 /etc/profile편을 참조하십시오.)
과정 6. bash쉘은 해당사용자의 개인 환경설정을 위하여 사용자의 홈디렉토리에 있는 .bash_profile을 불러들여 해당사용자에게 적용합니다. 만약 사용자의 홈디렉토리에 .bash_profile이 존재하지 않는다면 사용자의 홈디렉토리에 있는 .bash_login파일을 불러들여서 사용자에게 적용합니다. 그리고 .bash_login파일도 존재하지 않는다면 .profile을 사용자에게 적용합니다. 이 3개 파일의 적용은 .bash_profile > .bash_login > .profile 의 순이며 이 3파일들 중 하나만 적용됩니다. (이 책의 .bash_profile편을 참조하십시오.)
과정 7. 위의 과정이 끝나면 bash쉘은 사용자의 홈디렉토리에 .bashrc파일이 있으면 이 파일을 불러들여 사용자에게 적용합니다. (이 책의 .bashrc편을 참조하십시오.)
과정 8. 그리고 사용자의 홈디렉토리에 있는 .bashrc파일에 의해 /etc/bashrc파일이 있다면 이를 불러들여 적용한다. (이 책의 /etc/bashrc편을 참조하십시오.)
과정 9. 이 과정이 모두 끝난 후에 bash쉘은 사용자에게 리눅스 서버의 사용을 위한 쉘프롬프트를 제공합니다.
과정10. 그리고 로그인 했던 사용자가 모든 작업을 마치고 ‘exit’로 로그아웃을 할 때에는 사용자의 홈디렉토리에 있는 .bash_logout이라는 파일을 불러들여서 적용합니다. (이 책의 .bash_logout편을 참조하십시오.) 그런 다음 다시 1번 과정으로 돌아가서 login 프롬프트를 출력하고 로그인하기를 기다리고 있습니다.
위의 과정5부터 과정10까지의 이해를 돕기 위하여 아래 그림을 참고하시기 바랍니다.
지금까지 간략하게 간추린 리눅스 서버의 로그인에서부터 쉘프롬프트가 나오기까지의 처리절차입니다. 외울 필요는 없지만 반드시 이해는 하여야 합니다. 그리고 여기서 설명 드린 각 초기화 파일들에 대한 설명은 별도로 설명하였으므로 꼭 살펴보시기 바랍니다.
관련자료
-
이전
-
다음