\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 --- @c --- end of do not touch --- @dircategory System @direntry * gates-of-tartaros: (gates-of-tartoros). Extensible minimal TTY login manager with SSH support @end direntry @copying Copyright @copyright{} 2013 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{ssh}. Normal patterns for SSH logins include: @itemize @item @code{username@@hostname} @item @code{username@@hostname port} @end itemsize @node Setting up @chapter Setting up @menu * Configure inittab:: Configure your system to use Gates of Tartaros. * Enable SSH:: Enable SSH login on Gates of Tartaros. @end menu @node Configure inittab @section Configure inittab To set up your inittab to to use Gates of Tartaros instead of @command{agetty}, in your inittab, use the command @command{/sbin/got} with the first argument being the tty it should open on (@code{tty1}, @code{tty2}, ..., not @code{/dev/tty1}, @code{/dev/tty2}, ...), followed by exports. For example: @example c1:345:respawn:/sbin/got tty1 TERM=linux c2:345:respawn:/sbin/got tty2 TERM=linux c3:345:respawn:/sbin/got tty3 TERM=linux c4:345:respawn:/sbin/got tty4 TERM=linux c5:345:respawn:/sbin/got tty5 TERM=linux c6:345:respawn:/sbin/got tty6 TERM=linux @end example @node Enable SSH @section Enable SSH To enable SSH login support you must create a user named `sshlogin', which will be logged in and run SSH when using SSH login.@footnote{Cannot operate without a using being logged in.} The user's default shell must be set to @code{got-cmd}. @example sudo useradd -m -s /bin/got-cmd sshlogin @end example @node Extensibility @section Extensibility Extensions are loaded by Gates of Tartaros by sourcing the file @file{/etc/gotrc} if it exists. @file{/etc/gotrc} can change the behaviour of Gates of Tartaros or source other files that does so. Gates of Tartaros as two functions is calls directly after each other: @code{_display} for printing everying you see, and then @code{_login} to ask for username and start a login. Password checking is handled by external programs @command{ssh} and @command{login} that are used doing the actual user login. You either redefine these functions, or change the variables @code{display_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{/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