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 an issue.
- Website of the course
- Full lesson source
- Complementary video playlists
- Monthly lessons on Lemmy
- Monthly lessons on Reddit
- Chat with Discord
- Day 0 - Creating Your Own Server: how to setup your lab in AWS, Azure, Google Cloud, Digital Ocean and on a local server
- Day 1 - Get to know your server: Starting with
ssh-ing in and some simple commands like:ls,uptime,free,df -h,uname -a. Extensions on doing passwordless login with public keys and and ansshconfig file. - Day 2 - Basic navigation: Basic navigation, the "man" pages, file hierarchy
- Day 3 - Power trip!: Working with
sudo,uptime,timezones, changing your hostname - Day 4 - Installing software, exploring the file structure: Using 'apt' to find and install software. Use of
mcto explore the filesystem. Looking at the contents of:/etc/passwd,/etc/ssh/sshd_configand/var/log/auth.log - Day 5 - More or less...: Using
more,lessand navigating in these. Dotfiles, history, tab completion, and using thenanotxt editor - Day 6 - Editing with "vim": Learning
vim, the minimal knowledge, but also viavimtutor - 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
grep,cat,more,less,cut,awkandtail- and piping of course. (and a wave toawkandsed) - Day 9 - Diving into networking: Looking at open ports with
ss, and a nod tonetstat, installnmapand test. Installufw, set up, enable and test etc. Discuss security resonsibilities as the sysadmin. - Day 10 - Scheduling tasks: Covering
cron,at, and systemd timers - Day 11 - Finding things...: Finding things with:
locate,find,grep,which - Day 12 - Transferring files: SFTP, the technology, clients, and copying up and down
- Day 13 - Users and Groups: Using
adduser,visudoto setup up a restricted "helper" to manage our host - Day 14 - Who has permission?: Permissions, users, groups, (ACLS and SELinux in the Extension)
- 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
tarandgzip - 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 - Logs, monitoring and troubleshooting: Log management and rotation,
logrotate - Day 19 - Inodes, symlinks and other shortcuts: Inodes, hard links symlinks and
stat - Day 20 - Scripting: Understanding how scripting work in Linux, the shebang, permissions 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 feel free to donate or contribute to keep the challenge running:
