상세 컨텐츠

본문 제목

[유닉스 / UNIX / OS] 유닉스-로그인 과정의 상세 설명

IT 세상

by 이현민 (지후지율아빠) 2009. 6. 9. 18:00

본문


시스템이 정상적으로 부팅이 되면 시스템은 사용이 가능하다. 이 때 시스템에 계정이 있는 사용자라면 시스템에 로그인을 할 수 있다. UNIX 시스템에 로그인 한다는 것은 해당 시스템의 사용자 영역으로 접속을 하는 것을 의미한다. 이때 로그인을 하기 위해서는 보이지 않는 여러 가지 작업이 일어나는데 그 내용은 다음과 같다.

로그인을 하게 되면 login 및 shell 프로그램이 자동적으로 변수들을 설정하고 해당 프로그램을 수행한다.


[1] login 프로그램

1. 시스템에 접속이 되면, ‘login :’ 프롬프트 출력(시스템에 세션이 맺어졌음)

2. 자신의 사용자 계정(lognmae)과 비밀 번호(password)를 입력
*) /etc/shadow 파일에 등록된 정보와 일치하는지 이를 검증
*) /etc/shadow 파일은 사용자 계정과 각 계정에 대한 암호를 가지고 있고, 각 계정에 대한 암호(password)는 암호화(encryption)되어 있다.

3. 로그인 디렉토리로 이동
*) /etc/passwd 파일로부터 로그인 하는 디렉토리 명을 읽고 해당 디렉토리로 작업 디렉토리를 이동

4. HOME, MAIL, PATH, LOGNAME 변수를 정의(set)

5. shell(shell) 프로그램을 실행한다.
/bin/sh, /bin/ksh, /bin/csh


[2] 기본 환경 파일의 실행
1. 기본적인 setup 파일인 /etc/profile을 수행
® 날짜 및 메시지를 출력(Display)
® 뉴스(news)나 우편(mail)의 유무를 조사
® 기타 변수들을 정의
® 기타 시스템 관리자가 정의한 setup을 수행

2. 각각 로그인 shell에 맞는 환경 파일을 수행한다.
C shell의 경우에는 ${HOME}/.login, ${HOME}/.cshc

3. etc/profile은 shell에 관계없이 각각의 shell 환경 파일이 실행 되기 이전에 실행한다.


사용자가 시스템에 로그인을 하기 위해서는 위와 같이 보이지 않는 작업을 수행한다. 이 작업은 사용자의 ID와 패스워드가 일치하는지 검색하고 관련 환경의 구축과 설정을 하는 데는 순간적이다. 이 로그인을 하는 과정을 잘 이해를 해두면 리모트 시스템에 접근을 했을 때 UNIX 시스템이 보이지 않게 동작하는 환경을 쉽게 이해하여 UNIX ttmxpa을 사용하는데 많은 도움을 줄 것이다.

다음의 예는 PC에서 telnet으로 시스템에 접속하여 loveman의 계정으로 로그인하는 것을 보여주고 있다.


  login: loveman
  Password:
  Last login: Sat Dec 11 11:52:48 on console
  Sun Microsystems Inc.   SunOS 5.5.1     Generic May 1996
  You have new mail.
  HELLO root
  WELCOME TO LGS
  Today is 1999 12 11   05 08 11
  Love1004# date
  1999년 12월  11일   05시 08분 15초
  love1004# w
  5:05pm  up 11 day(s), 20:48,  3 users,  load average: 0.12, 0.13, 0.13
  User     tty           login@  idle   JCPU   PCPU  what
  root     pts/3        3Dec99  7:41                rlogin XX160
  root     pts/4       12:59pm           10         w
  root     pts/5       Fri 5pm 23:41                  telnet 156.147.7.252
반응형

관련글 더보기