Docs/Shell: Difference between revisions

Jump to navigation Jump to search
Update shell docs to mention soju
No edit summary
(Update shell docs to mention soju)
 
(2 intermediate revisions by one other user not shown)
[[Docs|<small>~/Docs</small>]]
 
 
Shell is the LUG "pubnix" / multi-tenant server for all members/alumni. It is primarily intended as a sandbox to grant access to a linux environment to newcomers, and enable people to poke around with developing websites.
 
Shell was first started as a concept in ~2012, where it was called something else. It later adopted the name "shell" on the 2nd/3rd iteration.
 
When Steven took over LUG in 2022, he copied all the existing /home/*/public_html from the existing shell server at that time to a brand-new shell server, so the web content would not be lost.
 
In 2023 we once again started a fresh Shell server, but this time did not copy over the old web content.
 
== Notes for Shell users ==
Shell provides a number of services to users with an account.
 
You can of course login, and get a shell on the server, which is running Debian. On logging in from off-campus, see the "SSH-Over-TLS" below.
 
The primary service Shell has is the user webpages. Upon logging in, you will see a "public_html" directory in your home directory. Anything placed in this directory will be available at "<nowiki>https://shell.lug.mtu.edu/~</nowiki><your_username>/". You can look into how websites work on the backend to understand how to make one yourself, if you would like.
 
Of note, because the webserver runs as the user/group "www-data", you must make sure all files in public_html can be read by www-data. Either by granting every user on the system read-only access (<code>chmod o+r <file></code>), or changing the group to <code>www-data</code> and granting group read access (<code>chmod g+r <file></code>).
 
Shell also has an IRC bouncer (<code>soju</code>) on port 6697, using the same username/password you use to login. <code>soju</code> can be configured by messaging <code>BouncerServ</code> once logged in on IRC. Read more on [[IRC Bouncer]].
 
== SSH-Over-TLS ==
There's a service on port 8443 to allow wrapping ssh traffic in TLS, so if you're connecting from a *nix client you can use the following options to do the TLS-wrapped-SSH:
 
=== Using package <code>openssl</code> ===
<code>openssl</code> should be installed on most *NIX systems, including MacOS, by default.
 
More information about the SSH Host configuration file can be found [https://linuxize.com/post/using-the-ssh-config-file/ here]
 
=== Using package <code>socat</code> ===
If the above doesn't work, (or if <code>openssl</code> keeps dropping the connection randomly) you can use <code>socat</code> instead.
 
* 4AM EST: cronjob recursively makes a snapshot of /home and each user's homedir, prefixed by "Auto".
* 4:15AM EST a cronjob recursively deletes >8th oldest /home snapshot starting with "Auto".
 
=== Root drives ===
Shell has two 1TB Crucial SSDs RAID'ed together with MDADM in RAID1 to serve as the ESP and the root (<code>/</code>) partition.
 
Each drive has two partitions, first the ESP (500MB/476MiB), and the root partition second (the rest of the drive; ???GB/931.5GiB).

Navigation menu