301 lines
8.8 KiB
Groff
301 lines
8.8 KiB
Groff
.\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu)
|
|
.\" May be distributed under the GNU General Public License
|
|
.TH LOGIN 1 "1 February 1993" "Linux 0.99" "Linux Programmer's Manual"
|
|
.SH 이름
|
|
login \- 시스템 접속
|
|
.SH 사용법
|
|
.BR "login [ " 이름 " ]"
|
|
.br
|
|
.B "login \-p"
|
|
.br
|
|
.BR "login \-h " 호스트이름
|
|
.br
|
|
.BR "login \-f " 이름
|
|
.SH 설명
|
|
.B login
|
|
풀그림은 한 시스템에 접속처리를 하는 풀그림이다.
|
|
또한 현재 접속 중에서도 한 사용자에서 다른 사용자로 바꾸고자 할 때도
|
|
사용될 수 있다. (한편, 대부분의 요즘 만들어진 쉘은 그 쉘 내부적으로
|
|
이러한 기능을 제공하고 있기도 하다.)
|
|
|
|
아무 옵션 없이 사용하면,
|
|
사용자 계정을 물어보는 프롬프트가 나타난다.
|
|
|
|
이때 입력되는 계정이 root가 아니고,
|
|
.I /etc/nologin
|
|
파일이 있으면 그 파일안에 내용이 보여지고
|
|
이 풀그림은 종료된다. 이것은 시스템 검사나 기타 사정상 일반 사용자
|
|
접속을 하지 못하도록 할때 사용된다.
|
|
|
|
.IR /etc/usertty
|
|
파일에서 특정 사용자의 로그인 허용과 거부가 지정되어 있을 때,
|
|
만일 그 사용자가 접속하고자 할 때는 그에 따른 접속처리를 한다.
|
|
이때, 접속거부되면 로그인은 끝나고
|
|
.B syslog
|
|
명령이 작동되어 그 상황을 기록한다.
|
|
자세한 이야기는 아래 "특별 접근 거부" 부분에서 다룬다.
|
|
|
|
|
|
.IR /etc/securetty
|
|
파일에서는 root로 접속할 수 있는 터미날들이 나열되어 있다.
|
|
이때 접속 실패가 일어나면
|
|
.B syslog
|
|
명령이 작동되어 그 상황을 기록한다.
|
|
|
|
사용자 계정의 확인 절차가 끝나면, 비밀번호를 물어보는 프롬프트가
|
|
나타난다. (그 사용자의 계정에서 비밀번호가 필요하면 나타난다.)
|
|
이때, 10번동안 비밀번호를 틀리게 입력하면 login은 종료된다.
|
|
그런데, 처음 세번은 바로 다시 물어보지만, 다음부터는 매우 느리게
|
|
반복된다. (로그인 과정이)
|
|
물론 이 과정들도
|
|
.B syslog
|
|
명령에 의해 그 상황이 기록된다.
|
|
|
|
.I .hushlogin
|
|
파일 $HOME 경로안에 있으면, 새로 도착한 편지가 있을 때 보여주는
|
|
메시지와 마지막 로그인한 시간을 알리는 메시지를 보여주지 않는다.
|
|
이 파일이 없고,
|
|
.I /var/log/lastlog
|
|
파일이 있으면, 그 파일에서 마지막 로그인 시간을 읽어 보여주고,
|
|
그 파일에, 현재 로그인을 기록한다.
|
|
|
|
로그인 계정, 비밀번호 확인철자가 끝나면,
|
|
다음은 터미날의 UID, GID 설정같은 관리작업들을 무작위로
|
|
수행한다. TERM 환경변수가 사용되고 있으면, 이 환경변수를 지정하고,
|
|
(
|
|
.B \-p
|
|
옵션이 사용되면 다른 환경변수가 지정된다)
|
|
HOME, PATH, SHELL, TERM, MAIL, LOGNAME 환경변수들을 지정한다.
|
|
일반 사용자라면 경로를 초기값으로 아래와 같이 지정하고,
|
|
.br
|
|
.I /usr/local/bin:/bin:/usr/bin:.
|
|
root라면 초기값으로 아래와 같이 지정한다.
|
|
.br
|
|
.I /sbin:/bin:/usr/sbin:/usr/bin
|
|
.br
|
|
마지막으로 "조용한" 로그인이 아니라면, 그날의 메시지를 출력하고,
|
|
.I /usr/spool/mail
|
|
경로안에 그 사용자 이름으로 된 파일의 크기가 0이 아닌지 확인해서
|
|
0이 아니면, 편지가 있다고 알려준다.
|
|
|
|
다음 사용자 쉘을 지정하는데,
|
|
.BR /etc/passwd
|
|
파일에서 그 사용자의 쉘이 지정되어 있지 않으면,
|
|
.B /bin/sh
|
|
쉘을 사용한다.
|
|
또한,
|
|
.IR /etc/passwd
|
|
파일에서 홈 경로가 지정되어 있지 않으며,
|
|
.I /
|
|
경로로 로그인된다.(홈 경로는 위에서 설명한
|
|
.I .hushlogin
|
|
파일이 있는지 확인할 때 검사된다.)
|
|
.SH 옵션
|
|
.TP
|
|
.B \-p
|
|
.B login
|
|
실행할 때 이전 환경들을 그대로 사용하도록
|
|
.BR getty (8)
|
|
명령에 의해 사용된다.
|
|
.TP
|
|
.B \-f
|
|
두번째 로그인일 경우에는 그 인증(계정확인절차)을 통과한다.
|
|
root 계정일 경우에는 작동되지 않으며, 리눅스에서는 바르게
|
|
작동되지 않을 수도 있다.
|
|
.TP
|
|
.B \-h
|
|
리모트 호스트 로그인시(가령, telnetd(8) 사용) 계정 입력을 통과한다.
|
|
물론 utmp, wtmp 기록은 있다. 이 옵션은 단지 root만이 사용할 수 있다.
|
|
|
|
.SH "특별 접근 거부"
|
|
.I /etc/securetty
|
|
파일에는 root가 접속 할 수 터미날이 나열되어 있다.
|
|
이 터미날 이름은 /dev/ 글자를 생략한 터미날 이름만이다.
|
|
이 파일이 없다면 root는 모든 터미날에서 접속이 가능하다.
|
|
.PP
|
|
.I /etc/usertty
|
|
파일에는 특정 사용자의 접속에 대한 특별한 설정 내용이 있다.
|
|
이 파일이 없다면, 어떠한 특정 사용자의 접속 거부같은 없다.
|
|
이 파일의 세부분으로 구성되어 있는데, 각각 그 부분들의 이름은
|
|
CLASSES, GROUPS, USERS 이다. CLASSES 부분에서는 터미날의 클래스와
|
|
호스트이름 패턴이 정의되고, GROUPS 부분에서는 그룹 단위의 허락되는
|
|
터미날과 호스트가 정의되고, USERS 부분에서는 사용자 단위의 허락되는
|
|
터미날과 호스트가 정의된다.
|
|
.PP
|
|
이 파일의 각 줄은 255 문자를 넘을 수 없으며,
|
|
# 문자로 시작하는 그 줄 전체는 주석으로 처리된다.
|
|
.PP
|
|
.SS "CLASSES 섹션"
|
|
CLASSES 섹션은 대문자로 첫칸부터 CLASSES라고 씀으로 정의된다.
|
|
이 부분은 다음 섹션이 정의되기 전까지 모든 부분이 포함된다.
|
|
각 단어의 구분은 공백문자나 탭문자로 한다.
|
|
각 줄에는 터미날과 호스트 패턴의 클래스가 정의된다.
|
|
.PP
|
|
각 줄의 처음은 관리자가 정의하는 클래스 이름이 오고,
|
|
그 다음에는 그 클래스에서 사용하는 터미날과 호스트 패턴이 온다.
|
|
이 클래스 이름은 다음에 오는 GROUPS, USERS 섹션에서 사용될 수 있다.
|
|
.PP
|
|
CLASSES 섹션 예제:
|
|
.PP
|
|
.nf
|
|
.in +.5
|
|
CLASSES
|
|
myclass1 tty1 tty2
|
|
myclass2 tty3 @.foo.com
|
|
.in \-.5
|
|
.fi
|
|
.PP
|
|
윗 예제는
|
|
.I myclass1
|
|
과
|
|
.I myclass2
|
|
클래스를 오른쪽 부분과 같이 정의한 것이다.
|
|
.PP
|
|
.SS "GROUPS 섹션"
|
|
GROUPS 섹션에서는 유닉스 그룹 단위의 허락되는 터미날과 호스트가 정의된다.
|
|
접속하는 사용자의 그룹이(이것은
|
|
.I /etc/passwd
|
|
파일과
|
|
.I /etc/group
|
|
파일에서 확인됨)이
|
|
.I /etc/usertty
|
|
파일의 GROUPS 섹션 부분에서 정의된 그룹이라면, 그에 해당되는
|
|
터미날과 호스트에만 접속이 가능해 진다.
|
|
.PP
|
|
GROUPS 섹션은 첫칸에 대문자로 GROUPS 이라고 씀으로 정의가 시작되고,
|
|
다음섹션의 정의가 나타나기 전까지 이 섹션으로 가정한다.
|
|
각 단어의 구분은 공백문자나 탭문자로 하며,
|
|
각 줄의 처음에는 그룹이 오고 다음에는 그 그룹에서 접근할 수 있는
|
|
터미날과 호스트가 온다. 또한 허락되는 터미날과 호스트 부분에서
|
|
앞 CLASSES 섹션에서 정의한 클래스 이름이 사용될 수도 있다.
|
|
.PP
|
|
GROUPS 섹션의 예제:
|
|
.PP
|
|
.nf
|
|
.in +0.5
|
|
GROUPS
|
|
sys tty1 @.bar.edu
|
|
stud myclass1 tty4
|
|
.in \-0.5
|
|
.fi
|
|
.PP
|
|
윗 예제는
|
|
.I sys
|
|
그룹의 사용자는 bar.edu 도메인을 가진 호스트에서, tty1로만
|
|
접속이 가능하다.
|
|
.I stud
|
|
그룹의 사용자는 myclass1 클래스 또는 tty4로만 접속이 가능하다.
|
|
.PP
|
|
|
|
.SS "USERS 섹션"
|
|
USERS 섹션은 첫칸에 USERS 라고 대문자로 씀으로 정의된다.
|
|
각 단어의 구분은 공백문자와 탭문자로 하며,
|
|
첫칸에는 사용자 계정, 다음에는 그 계정 사용자가 접속 할 수 있는
|
|
터미날과 그 사용자가 접속 시도하는 호스트가 정의된다.
|
|
물론 터미날과 호스트 정의부분에서 앞 CLASSES 섹션에서 정의한 클래스가
|
|
사용될 수도 있다.
|
|
.PP
|
|
USERS 섹션 예제:
|
|
.PP
|
|
.nf
|
|
.in +0.5
|
|
USERS
|
|
zacho tty1 @130.225.16.0/255.255.255.0
|
|
blue tty3 myclass2
|
|
.in \-0.5
|
|
.fi
|
|
.PP
|
|
윗 예제는 zacho 계정 사용자는 IP 주소가 130.225.16.0 부터 130.225.16.255
|
|
범위 안의 호스트에서 이 컴의 tty1로 접속 하고자 할 때만 접속을 할 수 있다.
|
|
blue 계정 사용자는 myclass2에서 정의된 환경과 tty3으로만 접속할 수 있다.
|
|
.PP
|
|
USERS 섹션안에서 사용자 계정 부분에 * 문자가 올 수도 있다.
|
|
이것은 초기값 지정이며, 모든 사용자에게 적용된다.
|
|
.PP
|
|
접속하고자 하는 사용자의 계정과 그룹이 USERS, GROUPS 섹션 두 부분에서 모두
|
|
적용되면 각 섹션에서 정의된 모든 터미날/호스트가 적용된다.
|
|
|
|
.SS Origins
|
|
터미날과 호스트 정의 부분에는 클래스, origin이라고 부르는
|
|
일군의 문자열이 사용된다. 이 origin 문자열은 다음과 같은 형식을 취한다.
|
|
.IP o
|
|
터미날의 이름에는 /dev/ 부분이 빠진다. 즉, tty1, ttyS0 형식으로 사용된다.
|
|
.PP
|
|
.IP o
|
|
@localhost 문자열은 로칼 호스트에서 telnet/rlogin으로 접속하는 사용자를
|
|
의미한다. 즉 `xterm \-e /bin/login' 명령같은 것이 실행된다는 것을 의미한다.
|
|
.PP
|
|
.IP o
|
|
@.some.dom 문자열은 리모트 호스트 접속시 그 사용자가 rlogin/telnet으로
|
|
도메인이 .some.dom로 끝나는 호스트에서만 접속할 수 있다는 것을 의미한다.
|
|
.PP
|
|
.IP o
|
|
IP 주소의 영역은 @x.x.x.x/y.y.y.y 이런 식으로 정의하는데,
|
|
이것은 x.x.x.x 에서 y.y.y.y 범위의 IP 주소를 가진 호스트에서만
|
|
접속이 가능하다. 예를 들어, @130.225.16.0/255.255.254.0
|
|
으로 정의하면, IP의 범위가 130.225.16.0 \- 130.225.17.255인
|
|
호스트에서만 접속이 가능하다.
|
|
.PP
|
|
기타 origin 에서 사용되는 문자열로 시간을 정할수 있는데,
|
|
그 형식은 다음과 같다.
|
|
.PP
|
|
.nf
|
|
timespec ::= '[' <day\-or\-hour> [':' <day\-or\-hour>]* ']'
|
|
day ::= 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat' | 'sun'
|
|
hour ::= '0' | '1' | ... | '23'
|
|
hourspec ::= <hour> | <hour> '\-' <hour>
|
|
day\-or\-hour ::= <day> | <hourspec>
|
|
.fi
|
|
.PP
|
|
예를 들어, [mon:tue:wed:thu:fri:8\-17]tty3 문자열은
|
|
월요일부터 금요일까지, 오전 8시 00분부터 오후 5시 59분까지만
|
|
tty3으로 접속할 수 있음을 의미한다. 시간 지정에서는 단지,
|
|
a\-b 식으로 정의되면 a시 00분 부터 b시 59분까지를 의미하며,
|
|
단지 단일 숫자만 있으면(가령 10) 그 시간만(10시 00분부터 10시 59분까지)을
|
|
의미한다.
|
|
.PP
|
|
시간부분의 설정이 지정되지 않으면 어떠한 시간에도 접속이 가능하다.
|
|
각 요일별로 그 시간을 따로 정하고 싶으면 각 요일 정의다음에 시간을
|
|
각각 따로 정의 할 수도 있다.
|
|
시간지정에서는 공백문자를 사용할 수 없다.
|
|
.PP
|
|
만약
|
|
.I /etc/usertty
|
|
파일에서 각 정의들이 바르지 못하게 정의된다면,
|
|
모든 사용자의 특별 접속 거부 같은 것은 없다.
|
|
.PP
|
|
.SH "관련 파일"
|
|
.nf
|
|
\fI/var/run/utmp\fR
|
|
\fI/var/log/wtmp\fR
|
|
\fI/var/log/lastlog\fR
|
|
\fI/etc/motd\fR
|
|
\fI/etc/passwd\fR
|
|
\fI/etc/nologin\fR
|
|
\fI/etc/usertty\fR
|
|
\fI$HOME/.hushlogin\fR
|
|
.fi
|
|
.SH "관련 항목"
|
|
.BR init (8),
|
|
.BR getty (8),
|
|
.BR mail (1),
|
|
.BR passwd (1),
|
|
.BR passwd (5),
|
|
.BR environ (7),
|
|
.BR shutdown (8)
|
|
.SH 벌레
|
|
리눅스에서는 다른 옛날 운영체제와 달리 한 사용자의 중복 로그인을
|
|
제한하지 않는다.
|
|
|
|
설명되지 않은 BSD의
|
|
.B \-r
|
|
옵션은 지원되지 않는다.
|
|
이 옵션은
|
|
어떠한
|
|
.BR rlogind (8)
|
|
풀그림에서 필요할 지도 모른다.
|
|
.SH 만든이
|
|
Derived from BSD login 5.40 (5/9/89) by Michael Glad (glad@daimi.dk) for HP\-UX
|
|
.br
|
|
Ported to Linux 0.12: Peter Orbaek (poe@daimi.aau.dk)
|