I'm struggling with a homework question in a Linux class.
When a user logs into a computer, perhaps via ssh, via a command-line terminal, or via a GUI interface, the operating system performs a number of steps. When these steps are complete, the user is running within an isolated space (e.g., a process space) and their environment is setup. Explain the steps in which a shell, such as bash, takes to setup the environment. (Your description should point out the various files that are used within this setup process.)
I'm not sure if I'm on the right page or not, but STDIN, STDOUT, and STDERR are created. Furthermore a session is created with the controlling tty handling the login process (main process or ksh process) as well as background and foreground processes. Also, the sshd daemon handles the response to the ssh connection.
Am I on the right track? If so, what else is involved?