other languages
other sections
LOGIN(1) | Linux Programmer's Manual | LOGIN(1) |
이름¶
login - 시스템 접속사용법¶
login [ 이름 ]설명¶
login 풀그림은 한 시스템에 접속처리를 하는 풀그림이다. 또한 현재 접속 중에서도 한 사용자에서 다른 사용자로 바꾸고자 할 때도 사용될 수 있다. (한편, 대부분의 요즘 만들어진 쉘은 그 쉘 내부적으로 이러한 기능을 제공하고 있기도 하다.)옵션¶
- -p
- login 실행할 때 이전 환경들을 그대로 사용하도록 getty(8) 명령에 의해 사용된다.
- -f
- 두번째 로그인일 경우에는 그 인증(계정확인절차)을 통과한다. root 계정일 경우에는 작동되지 않으며, 리눅스에서는 바르게 작동되지 않을 수도 있다.
- -h
- 리모트 호스트
로그인시(가령, telnetd(8)
사용) 계정 입력을
통과한다. 물론 utmp, wtmp
기록은 있다. 이
옵션은 단지 root만이
사용할 수 있다.
특별 접근 거부¶
/etc/securetty 파일에는 root가 접속 할 수 터미날이 나열되어 있다. 이 터미날 이름은 /dev/ 글자를 생략한 터미날 이름만이다. 이 파일이 없다면 root는 모든 터미날에서 접속이 가능하다. /etc/usertty 파일에는 특정 사용자의 접속에 대한 특별한 설정 내용이 있다. 이 파일이 없다면, 어떠한 특정 사용자의 접속 거부같은 없다. 이 파일의 세부분으로 구성되어 있는데, 각각 그 부분들의 이름은 CLASSES, GROUPS, USERS 이다. CLASSES 부분에서는 터미날의 클래스와 호스트이름 패턴이 정의되고, GROUPS 부분에서는 그룹 단위의 허락되는 터미날과 호스트가 정의되고, USERS 부분에서는 사용자 단위의 허락되는 터미날과 호스트가 정의된다. 이 파일의 각 줄은 255 문자를 넘을 수 없으며, # 문자로 시작하는 그 줄 전체는 주석으로 처리된다.CLASSES 섹션¶
CLASSES 섹션은 대문자로 첫칸부터 CLASSES라고 씀으로 정의된다. 이 부분은 다음 섹션이 정의되기 전까지 모든 부분이 포함된다. 각 단어의 구분은 공백문자나 탭문자로 한다. 각 줄에는 터미날과 호스트 패턴의 클래스가 정의된다. 각 줄의 처음은 관리자가 정의하는 클래스 이름이 오고, 그 다음에는 그 클래스에서 사용하는 터미날과 호스트 패턴이 온다. 이 클래스 이름은 다음에 오는 GROUPS, USERS 섹션에서 사용될 수 있다. CLASSES 섹션 예제:윗 예제는 myclass1 과 myclass2 클래스를 오른쪽 부분과 같이 정의한 것이다.
CLASSES myclass1 tty1 tty2 myclass2 tty3 @.foo.com
GROUPS 섹션¶
GROUPS 섹션에서는 유닉스 그룹 단위의 허락되는 터미날과 호스트가 정의된다. 접속하는 사용자의 그룹이(이것은 /etc/passwd 파일과 /etc/group 파일에서 확인됨)이 /etc/usertty 파일의 GROUPS 섹션 부분에서 정의된 그룹이라면, 그에 해당되는 터미날과 호스트에만 접속이 가능해 진다. GROUPS 섹션은 첫칸에 대문자로 GROUPS 이라고 씀으로 정의가 시작되고, 다음섹션의 정의가 나타나기 전까지 이 섹션으로 가정한다. 각 단어의 구분은 공백문자나 탭문자로 하며, 각 줄의 처음에는 그룹이 오고 다음에는 그 그룹에서 접근할 수 있는 터미날과 호스트가 온다. 또한 허락되는 터미날과 호스트 부분에서 앞 CLASSES 섹션에서 정의한 클래스 이름이 사용될 수도 있다. GROUPS 섹션의 예제:윗 예제는 sys 그룹의 사용자는 bar.edu 도메인을 가진 호스트에서, tty1로만 접속이 가능하다. stud 그룹의 사용자는 myclass1 클래스 또는 tty4로만 접속이 가능하다.
GROUPS sys tty1 @.bar.edu stud myclass1 tty4
USERS 섹션¶
USERS 섹션은 첫칸에 USERS 라고 대문자로 씀으로 정의된다. 각 단어의 구분은 공백문자와 탭문자로 하며, 첫칸에는 사용자 계정, 다음에는 그 계정 사용자가 접속 할 수 있는 터미날과 그 사용자가 접속 시도하는 호스트가 정의된다. 물론 터미날과 호스트 정의부분에서 앞 CLASSES 섹션에서 정의한 클래스가 사용될 수도 있다. USERS 섹션 예제:윗 예제는 zacho 계정 사용자는 IP 주소가 130.225.16.0 부터 130.225.16.255 범위 안의 호스트에서 이 컴의 tty1로 접속 하고자 할 때만 접속을 할 수 있다. blue 계정 사용자는 myclass2에서 정의된 환경과 tty3으로만 접속할 수 있다. USERS 섹션안에서 사용자 계정 부분에 * 문자가 올 수도 있다. 이것은 초기값 지정이며, 모든 사용자에게 적용된다. 접속하고자 하는 사용자의 계정과 그룹이 USERS, GROUPS 섹션 두 부분에서 모두 적용되면 각 섹션에서 정의된 모든 터미날/호스트가 적용된다.
USERS zacho tty1 @130.225.16.0/255.255.255.0 blue tty3 myclass2
Origins¶
터미날과 호스트 정의 부분에는 클래스, origin이라고 부르는 일군의 문자열이 사용된다. 이 origin 문자열은 다음과 같은 형식을 취한다.- o
- 터미날의 이름에는 /dev/ 부분이 빠진다. 즉, tty1, ttyS0 형식으로 사용된다.
- o
- @localhost 문자열은 로칼 호스트에서 telnet/rlogin으로 접속하는 사용자를 의미한다. 즉 `xterm -e /bin/login' 명령같은 것이 실행된다는 것을 의미한다.
- o
- @.some.dom 문자열은 리모트 호스트 접속시 그 사용자가 rlogin/telnet으로 도메인이 .some.dom로 끝나는 호스트에서만 접속할 수 있다는 것을 의미한다.
- 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인 호스트에서만 접속이 가능하다.
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>예를 들어, [mon:tue:wed:thu:fri:8-17]tty3 문자열은 월요일부터 금요일까지, 오전 8시 00분부터 오후 5시 59분까지만 tty3으로 접속할 수 있음을 의미한다. 시간 지정에서는 단지, a-b 식으로 정의되면 a시 00분 부터 b시 59분까지를 의미하며, 단지 단일 숫자만 있으면(가령 10) 그 시간만(10시 00분부터 10시 59분까지)을 의미한다. 시간부분의 설정이 지정되지 않으면 어떠한 시간에도 접속이 가능하다. 각 요일별로 그 시간을 따로 정하고 싶으면 각 요일 정의다음에 시간을 각각 따로 정의 할 수도 있다. 시간지정에서는 공백문자를 사용할 수 없다. 만약 /etc/usertty 파일에서 각 정의들이 바르지 못하게 정의된다면, 모든 사용자의 특별 접속 거부 같은 것은 없다.
관련 파일¶
/var/run/utmp /var/log/wtmp /var/log/lastlog /etc/motd /etc/passwd /etc/nologin /etc/usertty $HOME/.hushlogin
관련 항목¶
init(8), getty(8), mail(1), passwd(1), passwd(5), environ(7), shutdown(8)벌레¶
리눅스에서는 다른 옛날 운영체제와 달리 한 사용자의 중복 로그인을 제한하지 않는다.만든이¶
Derived from BSD login 5.40 (5/9/89) by Michael Glad (glad@daimi.dk) for HP-UX1 February 1993 | Linux 0.99 |