Babblings about Systems Administration.

Teaching Linux Part 2

Finally I managed to get my sessions back into our calendar. As a lot of vacation is going on it turned out to be a single session. Even if you can teach a single person it is well spend time. Plus nobody get’s shy asking questions. As the old saying says “there are no silly questions” some people still think they exist.

My student is looking for a “learning project” and was asking if it makes sense to configure a mail server. I am a big fan of having such projects to progress on them. But I cannot recommend a mail server as a beginners project. Especially if you want to run your private emails with it. 20 years ago it was easy. There was not a lot of harm or spam on the net. Today there are a lot of peaces you have to configure. A typical mail server consists of

Plus you need a good understanding of DNS. If you ask me I would probably go for something like a home server handling DNS, DHCP, filesharing, printserver, VPN, home automation. Why? Because the system is not heavily exposed to the internet and a prime target like a mail server. You might even tinker around with a VoIP system like asterisk. With the last one you already have to pay a lot of attention regarding security and configuration. Otherwise you might end up with a very high telephone bill.

But as a first step a virtual machine on your desktop or laptop is totally fine. You don’t need a lot of power for that. Remember: In the 90s we had a single core CPU with 233Mhz and 256MB of RAM with a 20GB Hard drive. If you want to run a GUI you need a bit more of RAM but 756MB for your VM is totally fine.

Talking about X11 I pointed out how we had to configure modelines by reading the manuals of our CRT monitors. Of course crossing fingers and paying attention by not destroying the monitor with a wrong configuration files. I am glad those days are over.

While trying to make a point that a mail server is not the best starting point I showed some configuration files and dived into the m4 macro language as not all configuration files are meant to be read by humans. If you don’t beleave me search for “sendmail.cf”!

Some other topics you definetely want to look into are webservers like

Plus you need a good understanding of what’s going on in your system. Which brings us to systemd and it’s ancestor init.

Both of them manage all processes getting started. Including those responsible for the nice login prompts you have on your consoles bound to <ctrl>-<f1> to <ctrl>-<f6> called mingetty.

I want to close this blog with a nice trick if you end up with a lost root password - of course it’s only working if the partitions are not encrypted: If you enter your boot manager - probably GRUB - you can enter Kernel parameters like init=/bin/bash. This starts your system not with SysV-init or systemd but a plain bash. No login prompt. Now you can remount your filesystem in readwrite mode and overwrite the root password. After mounting readonly again type exit and your system can be rebooted.