
This video will give you an overview about the course.
In this video, we will introduce the Linux filesystem and some filesystem commands to navigate the system.
Introduce the cd and pwd command, and the terminology of a home directory.
An overview of the hierarchical filesystem model used in Linux.
Introduce to the ls command to list files, and the file command to figure out the type of files you see. Also a short introduction to symbolic links.
In this video, we introduce the concept of text based configuration files, and some commonly used tools to display and search text files.
Take a look at the group file and the password using the more command.
Look at how to pipe the output from commands, such as ls, into more.
Introduce the commonly used grep command, and how it is used. Also a short explanation of the passwd file.
In this video we are to learn how to find files on the system, without knowing its location.
Learn the basic syntax of the find command, and how it works.
Learn how to get rid of the error messages from find so that we can easily see the results.
Introduce how to use wildcards with find, so that we’ll be able to find files even if don’t know the exact spelling.
This video will guide us to how to use the vi text editor in Linux.
Introduce the two modes in vi, command mode and insert mode.
Create an example text-file using various commands, such as date, whoami and uptime.
Edit the file by using both the various command in command mode, as well as write additional text in insert mode.
This video will guide us to how to use the nano text editor in Linux.
First we will make sure we have an example text file to play around with.
Introduce to editing and moving around inside nano.
Understand the concept of the CTRL-key is introduced, and we learn how to save and quit nano, and other CTRL-key combinations.
This video will teach you everything you need to know about root, su and sudo
First we go through the theory of what the root user is, and why we need to become root from time to time. We also learn that we need to be careful when using root.
Look at an example usage of su.
Look at an example usage of sudo.
In this video, we will install the Apache web server on Debian and Ubuntu.
To start with, we must become root as covered in the last section of this course
Install Apache using the apt-get tool
Verify the web server is in fact running on the system
In this video, we will install the Apache web server on our Red Hat, CentOS, or Fedora machine.
To start with, we must become root, as covered in the last section of this course
Install Apache using either yum or dnf, depending on which distribution we use
Verify that the service is running, and open up the firewall to allow traffic into the web server
In this video we will be creating a small web page that Apache can then serve.
First we need to become root, as we are about to create a file a directory owned by root (the Apache web directory)
Type in the HTML code, using either nano or vi
Simply save and quit the editor
In this video, we will access the web page we made in the previous video. We will try to access the web page from outside of the machine itself, but if we can’t do this, we will also access the webpage from within the machine.
First we figure out the IP address of the machine using the ip addr command
Point a web browser from a second machine to the IP address of our Linux machine
As a last step, in case we can’t access the web page from outside the machine, we access it locally using Lynx
In this video, we learn how to work with the apt tools for Debian and Ubuntu.
Start off this video by updating the repository cache and the system.
Once the system is up-to-date, we search for some new software to install, and install that software on our system.
Clean up the system again, by removing the software we just installed. And then, as a last step we clean up the system of old dependencies that are no longer needed.
In this video, we learn how to work with the yum tool for Red Hat and CentOS.
Start this video by upgrading our system and all of its software.
Look at how to search for new software and install that software.
We then remove the software we just installed. And as final step, we clean up our system of any old dependencies that are no longer needed.
In this video, we learn how to use the new package management tool DNF, which is now part of Fedora.
Start off with upgrading our system.
Once we have upgraded the system, we move on for new software. We also install new software.
Remove the software we just installed. Unlike other tools, here there is no need to clean up old dependencies once we have uninstalled a piece of software.
In this video we will learn how to create and remove users from the system. We also learns how to automatically create the new users home directory, what skeleton files are and so on.
First of all we create a new user with the useradd command. We also use a set of options to automatically create a new group for the user with the same name, and make the user a member of that group.
Next up with set a password for the new user. We also try to login as the new user on the system, and check out that everything has worked out.
As a final step we remove both the user, the group that was created with the user, as well as the user’s home directory.
In this video we learn how to change a user’s settings, such as a user’s default shell, the password, home directory and also the shell settings.
We start this video by re-creating the user from the previous video. We then use this user throughout this video. First of all we change his default shell.
We then login as the new user on the system, and let the user change his own password. We also let the user change his own default shell back to bash again.
We then login as root again, and move the user’s home directory using the usermod command. Then, as a last step we take a look at how the user himself can change his own shell settings by modifying the .bashrc file in his home directory.
In this video we will learn how to create new groups on the system.
The first step in this video is to actually create a new group, which we do with the groupadd command.
The next step we take will be to add the new group, devops, as a supplementary group to our user johnb from the previous video.
As a last step in this video we check out the user johnb’s group memberships using the password file and the group file.
In this video we will learn how to read and understand file permissions and owner and group of files.
Start this video with a looking at examples of different file permissions. This first bit very important theory to understand how the owner of a file, the group and the file permissions all fit together.
Look at some more example, and also some real world examples. We will also see what it means by executing a file.
See some more examples from real system, as well as a common gotcha when it comes to owners and groups.
In this video we will learn how to set permissions to files, and change its owner and group.
Learn how to use the command chown and chgrp to change owner and group of a file.
Move on to learn chmod to change file permissions. We learn how to add permission bits, remove permission bit and set the permissions to sometime specific.
Learn how to set permissions using numerical (octal) values. This will be a bit faster than using letters all the time.
In this video we will be introduced to processes and process owners.
Start this video by learning how we list processes and its owners on the system using the ps command.
Learn how to terminate processes with the kill command.
Try to kill another user’s process. We also try to kill a process a root.
In this video we learn how to manage services on a Linux system that is starting and stopping services enabling and disabling services and reloading their configuration files.
Start this video by taking a look at what systemctl and systemd is. After that we go over some terminology we need to know.
Use the systemctl tool to list currently running services on the machine.
Try to start, stop, disable and enable the httpd / apache2 service that we installed in section two of this course.
In this video we will learn to both modify an existing service (unit file), as well as creating our very own service from the ground up, including the actual service.
Start this video be taking a look at how everything fits together regarding unit files, in which directories they are placed, what happens when you enable or disable a service and so on.
Modify the httpd service (unit file). First we modify the original unit file, and then we learn how to create an override file for the unit.
Create our very own service! First we create a shell script which will act as the service. Then we create the unit file for the service, so that it can be enabled/disabled and started and stopped. Just like a real service!
In this video we will learn why logs are important, what kind of information we can find in them, and how we read them using journalctl. We also learn how to filter and sort the logs, making it easier to find what we are looking for.
Introduce the journalctl command and what kind of information we can find with it.
Learn how to “follow” logs in real time, making it possible to detect intrusion attempts for example.
Learn how to filter out just the kind of information we are looking for. For example what service and between which dates and times.
In this video we learn how to read the logs in /var/log, and what’s the difference in between the logs in /var/log and journalctl.
We begin this video with familiarizing ourselves with the /var/log directory and what we can find in here, and how things are built up with log files for the system and for the services.
Learn how to follow a log file, to view ongoing activities. We also view visitors to our webserver in real time.
Learn how to use two powerful log tools, namely dmesg and last.
In this video we learn how to configure services, what kind of configuration files we find /etc, and how config files, subdirectories and include statements all fits together. We also get some first hands-on experience modifying a service.
Learn the difference between a configuration file and a unit file. We will also learn what we configure with the configuration files for the different services.
Add a warning messages to the SSH daemon, telling people what unauthorized access is prohibited.
Then, before we actually restart the SSH daemon we learn a very important lesson to not lock us out from our own server by mistake. We then restart the service and log back into the machine again.
In this video we will be performing a really fun lab. We are to create a password protected directory on our web server!
Create the directory which should be password protected, and create a simple index.html file in it.
Add the proper configuration for Apache to protect the directory. We then also create a username/password pair.
Validate the configuration file, restart the service and try to access the directory from a web browser.
In this video we will learn how to monitor the system. The things we learn to monitor ranges from everything from the CPU and RAM usage, to I/O performance, to listing open ports and established connections.
We begin this video by learning how to use top tool and how to interpret the “load average” of the system.
Then we move on to install and learn two other tools, namely iotop and iptraf.
The last tool we learn in this video is "ss". This tool is used for two things, both to view open ports (listening ports/daemons), as well as viewing currently established connections to this machine.
In this video we will learn how to examine the system hardware, such as CPU, memory, PCI cards, USB devices, and storage devices and so on.
In the first part of this video we examine the storage and the memory of the system.
We then move along to examine the CPU.
In the last part we learn how to examine USB and PCI devices on the system.
In this video we will add a new storage device to our system, format it, and mount it. As a Linux system admin, you will be facing this very task often!
We begin this video with plugging in a USB thumb drive to the computer which we are going to use as the storage device. We are then going to identify the new device on the system.
Create a EXT4 filesystem on the device and mount it.
And finally, we will add the new device to the /etc/fstab file so that it will be auto mounted at boot time.
Creating and maintaining up-to date backups is an important task to a sysadmin. In this video we learn how to do just that!
Learn about a very powerful backup tool, namely rsync.
Make a complete backup of the entire home directory and place it on our thumb drive.
Change a file, and re-run the rsync command and see how it only copies the changed file.
Scheduling recurring tasks is an important job to automate stuff for a Linux sysadmin. In this video we will learn how to schedule a simple dummy task and learn about the cron daemon.
Introduce how the crontab works, and what all the different fields mean.
Add our very first scheduled task with the help of crontab.
Modify our crontab so that the task will now run every minute, around the clock.
In this video we will tie together the two last videos, by scheduling the backups of the /home directory.
Refresh your knowledge from the video about backups and rsync.
Move on to add the rsync command to the crontab, and also redirect both standard error and standard output to a logfile inside /root.
Check out the result of the backup, after the time for the backup has passed.
Have you only come into brief contact with Linux before, but now you need to set up or maintain a Linux server? Then this course is for you.
With this course you'll learn how to master any Linux machine. Control and master the administration of a Linux machine, whether a workstation or a server. You'll learn how to set up services, monitor the system, perform backups, and schedule common tasks.
By the end of the course you will be ready to start your career as a Linux system administrator.
About the Author
Jack-Benny Persson discovered Linux and the internet way back in 1997, and has since been obsessed by it. Linux and networking have been both his hobby, his field of study, and also his career. He runs a small business in Sweden where he does everything from consulting work to writing books, as long as it has to do with Linux, programming, networking, or electronics. He also has a keen interest in communication and is a HAM radio operator. He is truly a jack-of-all-trades when it comes to technology. One of his (many) dream professions is to become a teacher, though he really likes teaching technology.