Introduction to Linux Server Administration!
This includes all the source material for the 20 lessons of what was previously a commercial online Linux server admin course - now free for you to learn with! (If you spot any typos or "dead links" simply raise a GitHub "issue").
- Website of the course: (https://LinuxUpskillChallenge.org)
- Monthly "Linux Upskill Challenge": (https://www.reddit.com/r/linuxupskillchallenge/)
- Lesson "source": (https://github.com/livialima/linuxupskillchallenge)
- Chat at: (https://discordapp.com/invite/wd4Zqyk)
READ THIS FIRST!
Table of Contents
- Day 0 - Creating Your Own Server: how to setup your lab in AWS, Azure, Digital Ocean, Google Cloud and others
- Day 1 - Get to know your server: Starting with
ssh-ing in and some simple commands like:
uname -a. Extensions on doing passwordless login with public keys and and an
- Day 2 - Basic navigation: Basic navigation, the "man" pages, file hierarchy
- Day 3 - Power trip!: Working with
timezones, changing your hostname
- Day 4 - Installing software, exploring the file structure: Using 'apt' to find and install sotware. Use of
mcto explore the filesystem. Looking at the contents of:
- Day 5 - More or less...: Using
lessand navigating in these. Dotfiles, history, tab completion, and using the
- Day 6 - Editing with "vim": Learning
vim, the minimal knowledge, but also via
- Day 7 - The server and its services: Installing Apache2, stopping and starting, altering the content, reading logs
- Day 8 - The infamous "grep" and other text processors: Hands-on with text tools like
tail- and piping of course. (and a wave to
- Day 9 - Diving into networking: Looking at open ports with with
ss, and a nod to
nmapand test. Install
ufw, set up, enable and test etc. Discuss security resonsibilities as the sysadmin.
- Day 10 - Getting the computer to do your work for you: Covering
at, and systemd timers
- Day 11 - Finding things...: Finding things with:
- Day 12 - Transfering files: SFTP, the technology, clients, and copying up and down
- Day 13 - Who has permission?: Permissions, users, groups, (ACLS and SELinux in the Extension)
- Day 14 - Users and Groups: Using
visudoto setup up a restricted "helper" to manage our host
- Day 15 - Deeper into repositories...: Repositories in more detail, how to enable "Multiverse", the role of PPAs in Ubuntu, enabling and installing from them
- Day 16 - Archiving and compressing: Understanding and using
- Day 17 - Build from the source: Installing from source. Discussion, using
wgetto get a tarball,
tarto extract and then configure, make and install. Discussion of security, maintenance issues.
- Day 18 - Log rotation: Log management and rotation,
- Day 19 - Inodes, symlinks and other shortcuts: Inodes, hard links symlinks and
- Day 20 - Scripting: Understanding how scripting work in Linux, the shebang, permissons and $PATH. A couple of simple sample scripts based on the filtering of logs we've been doing. Resources to explore further.
- Day 21 - What's next?: Closing the course with some suggestions.
You are free to use this under the terms of the license, but copyright remains with the author, Steve Brorens.