1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
|
\input texinfo @c -*-texinfo-*-
@c %**start of header
@setfilename gates-of-tartaros.info
@settitle gates-of-tartaros
@afourpaper
@documentencoding UTF-8
@documentlanguage en
@finalout
@c %**end of header
@c --- start of do not touch ---
@set BIN /bin
@set SBIN /sbin
@set DEV /dev
@set ETC /etc
@set GOT got
@set SSH ssh
@c --- end of do not touch ---
@dircategory System
@direntry
* gates-of-tartaros: (gates-of-tartaros). Extensible minimal TTY login manager with SSH support
@end direntry
@copying
Copyright @copyright{} 2013, 2014 Mattias Andrée
@quotation
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts. A copy of the license is included in the section entitled
``GNU Free Documentation License''.
@end quotation
@end copying
@ifnottex
@node Top
@top gates-of-tartaros -- Extensible minimal TTY login manager with SSH support
@insertcopying
@end ifnottex
@titlepage
@title Gates of Tartaros
@subtitle Extensible minimal TTY login manager with SSH support
@author by Mattias Andrée (maandree)
@page
@vskip 0pt plus 1filll
@insertcopying
@c@page
@c@*@*
@c@center `'
@end titlepage
@contents
@menu
* Overview:: Brief overview of Gates of Tartaros.
* Setting up:: Setting up Gates of Tartaros.
* Extensibility:: Configure and extend Gates of Tartaros.
* GNU Free Documentation License:: Copying and sharing this manual.
@end menu
@node Overview
@chapter Overview
Gates of Tartaros is a minimal, but extensible, replacement for
agetty written in GNU Bash. The be key feature of Gates of Tartaros
is that it lets you easily login to another computer with SSH.
@c Hence the name Gates of Tartaros, in MLP Kerberos gaurds the
@c gates of Tartaros (rather than Hades), the place where the
@c worst of pony kind gets after death, which in this analogy
@c is where you are before SSH:ing. When SSH:ing, Kerberos
@c (perhaps more specifically Heimdall) make sure you only get
@c in if you are authorised (getting in being getting out of
@c Tartaros.)
To login when Gates of Tartaros is running, just type your
username, but for an SSH session, type what you would type
as the argments for @command{@value{SSH}}. Normal patterns
for SSH logins include:
@itemize
@item @code{username@@hostname}
@item @code{username@@hostname port}
@end itemize
@node Setting up
@chapter Setting up
To set up your inittab to to use Gates of Tartaros instead
of @command{agetty}, in your inittab, use the command
@command{@value{SBIN}/@value{GOT}} with the first argument
being the tty it should open on (@code{tty1}, @code{tty2},
..., not @code{@value{DEV}/tty1}, @code{@value{DEV}/tty2},
...), followed by exports. For example:
@example
c1:345:respawn:@value{SBIN}/@value{GOT} tty1 TERM=linux
c2:345:respawn:@value{SBIN}/@value{GOT} tty2 TERM=linux
c3:345:respawn:@value{SBIN}/@value{GOT} tty3 TERM=linux
c4:345:respawn:@value{SBIN}/@value{GOT} tty4 TERM=linux
c5:345:respawn:@value{SBIN}/@value{GOT} tty5 TERM=linux
c6:345:respawn:@value{SBIN}/@value{GOT} tty6 TERM=linux
@end example
@node Extensibility
@chapter Extensibility
Extensions are loaded by Gates of Tartaros by sourcing
the file @file{@value{ETC}/@value{GOT}rc} if it exists.
@file{@value{ETC}/@value{GOT}rc} can change the behaviour
of Gates of Tartaros or source other files that does so.
The variable @code{tty} will be set from the beginning
to the TTY file, without @code{@value{DEV}/}, for example
@code{tty1}.
Gates of Tartaros as three functions is calls directly after
each other: @code{_display} for printing everying you see,
@code{_read} to accept username input and stores it in the
variable @code{user}, and then @code{_login} to start a
login. Password checking is handled by external programs
@command{@value{SSH}} and @command{login} that are used
doing the actual user login. You either redefine these
functions, or change the variables @code{display_function},
@code{read_function} or @code{login_function} to contain the
name of the functions you want to be called instead. The
latter option can be used to extend rather then replace the
predefined functions.
The file @file{@value{ETC}/os-release} will have been sources
before the extensions and @code{NAME} and @code{ANSI_COLOR}
will have fallback values. @code{NAME} is the name of
the operating system (distribution) and @code{ANSI_COLOR}
is its associated colour.
@node GNU Free Documentation License
@appendix GNU Free Documentation License
@include fdl.texinfo
@bye
|