Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
A - Z Guide to Linux System Administration!: 3-in-1
Rating: 3.9 out of 5(25 ratings)
178 students

A - Z Guide to Linux System Administration!: 3-in-1

A Step by Step guide to becoming an expert Linux systems administrator!
Last updated 11/2018
English

What you'll learn

  • Secure the system by setting the correct file permissions, removing inactive users, creating new users, and changing user passwords.
  • Maintain a system by reading its logs, examining its hardware, adding new storage, and monitor its resources.
  • Troubleshoot wireless networks with additional tools via the command-line.
  • Connect multiple computers in a secured manner for direct server-to-computer communication.
  • Explore filesystems to check directory status and access modification times.
  • Set up a web server, SSH, and DHCP, and use Netcat with Ping in a network.
  • Secure your server and configure SELinux (Security Enhanced Linux)

Course content

3 sections101 lectures9h 7m total length
  • The Course Overview4:12

    This video will give you an overview about the course.

  • Moving Around the Filesystem6:05

    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.

  • Seeing What’s inside the Files and Searching for Text4:50

    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.

  • Finding Files4:37

    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.

  • Edit Files with vi8:35

    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.

  • Edit Files with nano3:15

    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.

  • Becoming Root Using su or sudo6:56

    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.

  • Install the Apache Web Server on Debian and Ubuntu2:53

    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

  • Installing the Apache Web Server on Red Hat, CentOS, and Fedora3:46

    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

  • Create a Web Page Using nano or vi and Let Apache Serve it1:29

    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

  • Accessing the Web Page3:26

    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

  • Master the apt Tools for Debian and Ubuntu6:30

    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.

  • Master the yum Tool for Red Hat and CentOS3:44

    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.

  • Master the DNF Tool for Fedora3:25

    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.

  • Creating and Removing Users7:41

    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.

  • Changing User Settings10:51

    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.

  • Creating User Groups3:58

    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.

  • Reading File Permissions and Owners10:03

    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.

  • Setting File Permissions and Owners10:53

    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.

  • Viewing Process Owners3:37

    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.

  • Controlling Services with systemctl7:35

    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.

  • Creating and Modifying Services14:39

    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!

  • Reading Logs via journalctl7:13

    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.

  • Reading Logs in /var/log5:46

    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.

  • Editing Configuration Files6:59

    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.

  • Changing Apache Configuration8:00

    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.

  • Monitor the System14:06

    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.

  • Examine the System Hardware6:56

    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.

  • Working with Storage10:34

    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 Backups4:12

    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.

  • Run Scheduled Tasks6:48

    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.

  • Schedule Backups4:21

    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.

  • Test Your Knowledge

Requirements

  • The user should have a prior basic understanding of Linux CLI, be able to open a terminal, and should be able to perform basic commands.

Description

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 perfect for you! Linux is a major and one of the most popular forces in computing technology, powering everything from mobile phones and personal computers to supercomputers and servers.  The job of a systems administrator is to manage the operation of a computer system. Hence, troubleshooting is an important skill used in many Information Technology roles including help desks, system administration, networking, and security.

This comprehensive 3-in-1 course follows a strict hands-on approach and demonstrates full troubleshooting steps; performing administrative tasks! Initially, you’ll perform administrative tasks such as keeping the system up-to-date, installing new software, monitoring the system, and configuring new services. Develop your own methods to troubleshoot services and processes and monitor the system to identify critical machine issues. Configure SSH servers for secured connections via remote computers and set up a Network File System to better manage your Linux files. Finally, set up SELinux and SSH, and operate your web server with Apache!

By the end of the course, you’ll configure, manage, and secure CentOS 7 Linux servers with administrative command-line skills to become an expert Linux Systems Administrator!

Contents and Overview

This training program includes 3 complete courses, carefully chosen to give you the most comprehensive training possible.

The first course, Hands-On Linux System Administration, covers how to set up services, keep the system up-to-date, and schedule tasks. 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.

The second course, Troubleshooting Linux Administration, covers quick and simple troubleshooting solutions to deal with all the problems you'll encounter as a Linux administrator! In this troubleshooting course, you will master the full power of the superuser; you'll use sudo to fix user management files and passwords, and schedule tasks with cron before troubleshooting. You will also troubleshoot and resolve wireless issues, identify machine issues with different troubleshooting processes, configure an SSH server for remote connections, and set up a Network File System to connect to your client.

The third course, Advanced Linux System Administration, covers how to configure, manage, and secure CentOS 7 Linux servers with administrative command-line skills. Throughout the course, we show you many tasks you'll encounter when administering a Linux server; you'll put the concepts to use in practical, real-world situations. You'll be able to configure, maintain, and run commands across many systems—all at the same time. We provide tips and tricks to make your life easier, speed up your workflow, and make you feel like a certified Linux administrator ninja! We cover topics such as disk and user management, networking, some advanced Linux permissions, shell scripting, and advanced command-line skills—all via practical, hands-on examples and demonstrations. By the end of the course, you will be confident about performing Linux systems administrator tasks; you'll also be able to perform systems engineer tasks smoothly.

By the end of the course, you’ll configure, manage, and secure CentOS 7 Linux servers with administrative command-line skills to become an expert Linux Systems Administrator!

About the Authors

  • 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.

  • Paul Olushile graduated with a diploma degree in computer science and is currently working as a cybersecurity expert. He loves teaching and hence he has been freelancing for over 4 years to share his expertise as a Unix/Linux administrator with students. He has a diverse set of certifications, interests, and experiences, including server administration.

Who this course is for:

  • Developers, System Administrators are keen to start a career as a Linux System Administrator and want to deal with more than one Linux distribution and would like to get some quick solutions to their common administration issues!