I'm going to take a break from the high end concept stuff and focus on basics for a bit. this is just a refresher for me. but might help someone learn something they might not already know.
in this Article we are going over console log in mechanisms.
there are several things that making logging in function. Authentication modules, TTY devices, init, auto run scripts. these things can all be controlled manipulated and forged to work exactly how you like, or broken to not work at all. we will start from the very beginning, at the getty,
a getty is a terminal program that sets the communication between the kernel and a teletype device. now in the old days a teletype device typically meant a serial connection to a dumb terminal. however now days it is typically a console on your own box, and can be switched between with [ALT]+[a number key]. the init system creates the consoles then assigns a getty program to each one. allowing for the getty program to ask for login information. and giving access to the TTY if a user is authenticated. once the user logs out the TTY is destroyed, and the getty respawns.
inittab is the configuration setup for the init system, the init system is way the system starts and stops the whole of the system. there are many different types of init systems. Altho we are only concerned about the SYS V. which most Linux distros use. or a offset there of.
here is a standard inittab file showing the getty lines.
# TERMINALSc1:12345:respawn:/sbin/agetty 38400 tty1 linuxc2:2345:respawn:/sbin/agetty 38400 tty2 linuxc3:2345:respawn:/sbin/agetty 38400 tty3 linuxc4:2345:respawn:/sbin/agetty 38400 tty4 linuxc5:2345:respawn:/sbin/agetty 38400 tty5 linuxc6:2345:respawn:/sbin/agetty 38400 tty6 linux
whytewolf:this is a highly encrypted hash password no longer using enigma:15474:0:99999:7:::