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 anssh
config 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
mc
to explore the filesystem. Looking at the contents of:/etc/passwd
,/etc/ssh/sshd_config
and/var/log/auth.log
- Day 5 - More or less...: Using
more
,less
and navigating in these. Dotfiles, history, tab completion, and using thenano
txt 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
,awk
andtail
- and piping of course. (and a wave toawk
andsed
) - Day 9 - Diving into networking: Looking at open ports with
ss
, and a nod tonetstat
, installnmap
and 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
,visudo
to 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
tar
andgzip
- Day 17 - Build from the source: Installing from source. Discussion, using
wget
to get a tarball,tar
to 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: