Linux Foundation Certified SysAdmin (LFCS)
Senior Vice President of Content
The Linux job market continues to expand and this course will help prepare you for one of the standard industry Linux administration certifications. This course has been updated in 2018 with a new list of domains and competencies matching those detailed by the Linux Foundation for v3.18.
Update for 2019 - Linux Foundation Certified SysAdmin (LFCS)
The Linux Foundation has decided to change the name from Certified System Administrator to Certified Sysadmin. This doesn't change any of the objectives for the exam and it doesn't invalidate any of the content here on Linux Academy.
Introduction to the LFCS
This lesson is a quick introduction to the contents of this course.
About This Course
I'm really excited for you to get started, and in this lesson, I'll give you a really quick reminder of where to find things like your Cloud Servers, the study group, and the Community.
About the Author
Chad Miller is your instructor for this course. He's got over 25 years of adult technical education experience, lots of certifications, plays video games, flies drones, and raises honeybees at his home in suburban Austin, TX.
About the Exam
The Linux Foundation Certified Sysadmin exam is a two-hour hands-on practical exam, which means you'll be solving real problems with Linux instead of answering multiple choice questions. You may choose to take it in either CentOS 7 or Ubuntu 16.
Essential Commands (25% of the Exam)
Log into Local and Remote Graphical and Text Mode Consoles - Debian Version (Ubuntu)
In order to administer a Linux system, you will need to access it. In this lesson, we'll take a look at how to log in to a local Linux machine or remote Linux machine for both the GUI (XWindows) and text mode. This lesson focuses on using Ubuntu. The next lesson focuses on CentOS. At the end of this lesson, you will feel confident logging into Ubuntu and Debian systems.
Log into Local and Remote Graphical and Text Mode Consoles - RedHat version (CentOS)
In order to administer a Linux system, you will need to access it. In this lesson, we'll take a look at how to log in to a local Linux machine or remote Linux machine for both the GUI (XWindows) and text mode. This lesson focuses on using CentOS. The previous lesson focused on Ubuntu and Debian systems. At the end of this lesson, you will feel confident logging into CentOS and RedHat systems.
Search for Files
Knowing where files are located in a Linux system can be overwhelming. In this lesson, we'll explore using 'find' and 'which' to figure out where files are located based on the file name, ownership, and path. At the end of this lesson, you'll be able to find files on your Linux system.
Evaluate and Compare the Basic File System Features and Options
Differentiating among the many choices of file systems is a skill any Linux Administrator worth his salt constantly hones. In this lesson, we'll discuss Ext and variants, BtrFS, XFS, HPFS, and what the advantages and disadvantages are for them. At the end of this lesson, you will be able to discuss the strengths and weaknesses of many Linux filesystems.
Compare and Manipulate File Content and Use Input-Output Redirection
Linux System Administrators often need to string together commands, and bash allows for manipulating file content using input-output redirectors. In this lesson, we will demonstrate the more common uses of I/O redirection, such as the pipe character (|) and the "to" and "from" characters (> and <). At the end of this lesson, you will feel confident directing output from one command to the input of another.
Analyze Text Using Basic Regular Expressions
Regular expressions are the blessing and curse of any Linux system administrator. They can make you all-powerful on the command line, but you risk your sanity. During this lesson, we'll introduce basic regular expressions and how they might be used to analyze text files using common tools like vi, sed, and grep. At the end of this lesson, you may not feel much like a Wizard, but you'll have a good foundation and will be well on your way to mastering regular expressions.
Archive, Backup, Compress, Unpack, and Decompress Files
Backing up a Linux system is a crucial skill. In this lesson, we'll take a look at a couple of common backup and restore techniques, with a heavy emphasis on the toolbar. (Um, tape archive? Seriously? What is this, the 90s?!) At the end of this lesson, though, you'll understand the history of this mighty tool and be able to wield it even on modern spinning disks and SSDs.
Create, Delete, Copy, and Move Files and Directories
Sometimes, things aren't QUITE where you need them to be. In this lesson, we'll cover some basic bash utilities for creating, deleting, copying, and moving both files and directories around. By the end of this lesson, you'll be shifting files like a crooked politician!
Create and Manage Hard and Soft Links
In Linux filesystems, you can have multiple pointers in a directory to the same area on disk or even shortcuts that behave just like files -- even across disks or file systems! In this lesson, we'll discuss what hard and soft links are and explore their behavior using the ln utility. At the end of this lesson, you'll understand the difference between a directory entry and a file, as well as how you can take advantage of those differences to create powerful file structures.
List, Set, and Change Standard File Permissions
In Linux, everything is a file, so the importance of file permissions cannot be overstated. In this lesson, we'll discuss standard file permissions, how they affect file access, and how to change them to fit your requirements using standard bash utilities such as chown, chmod, and chgrp. At the end of this lesson, you'll understand standard file permissions and be able to secure the files in Linux systems.
Read, and Use System Documentation
Linux is an amazing operating system and the best part? The documentation is built right in! In this brief lesson, we'll take an even closer look at the man pages, and some other places you might find documentation. At the end of this lesson, you'll be a master of man.
Manage Access to the Root Account
Root access on Linux machines means all the power to do whatever you need and whatever you want, and it's really important to limit who has access. In this lesson, we'll demonstrate how sudo and su protect your system and even offer up some best practices to keep you looking sharp. At the end of this lesson, you'll know the difference between logging in as root and temporarily escalate your privileges, as well as how to grant other users escalated privileges without compromising your system
QUIZ: Linux Essential Commands
Operation of Running Systems (20% of the Exam)
Operation of Running Systems
Boot, reboot, and shut down a system safely
Stopping and restarting a Linux system isn't just a matter of yanking the cord out of the wall! In this lesson, we'll discuss some methods of rebooting or shutting a machine down safely using standard commands like shutdown, reboot, and poweroff. At the end of this lesson, you'll be able to shut down or reboot your system right now or even on a time delay!
Boot or change system into different operating modes
Linux systems can run in a variety of modes for a variety of reasons: single user mode for recovery, text mode, and graphics mode. In this lesson, we'll discuss some common runlevels in addition to what you might already be familiar with, and how to run your system in those modes. This is often used for system recovery. At the end of this lesson, you'll be able to manipulate the runlevels on your system to achieve your desired results.
Install, configure and troubleshoot bootloaders
There's a lot that needs to happen from the moment when the power is turned on until the system decides which operating system to boot. That's where bootloaders come in! In this lesson, we'll take a close look at the bootloader that most Linux distributions use today -- Grub 2. We'll look at the files that make it up and discuss how you can install, configure, and troubleshoot it. At the end of this lesson, you'll understand how to configure grub2 and boot one or more operating systems on a machine!
Diagnose and manage processes
Knowing what is running on your Linux system, as well as what's very busy and what is not so much, is a critical aspect of system administration. In this lesson, we'll look at top, htop, and ps as they pertain to getting information about running processes on a system, as well as the kill, nice, and renice commands for managing processes. At the end of this lesson, you'll be able to gain valuable insight on the processes running on your Linux system! NOTE: Linux system priorities are 0 to 139. 0 to 99 for real time. 100 to 139 for users Nice value range is -20 to +19. -20 is highest. 0 is the default. +19 is lowest. The relation between nice value and priority is: PR = 20 + NI
Locate and analyze system log files
When something goes wrong, you need to know where to look to fix it! In this lesson, we'll explore the main system log files on Centos/Redhat systems and Debian/Ubuntu systems and take a look at a few tips and tricks to making reviewing the log files a bit easier. At the end of this lesson, you'll know where the main system logs are and have a good idea for where to find application-specific logs.
Schedule tasks to run at a set date and time
Often, you will need a task to run over and over again, preferably at the same time each day, week, or month. In this lesson, we'll demonstrate using cron and how to use the crontab tool to list and set up scheduled tasks. At the end of this lesson, you will be able to schedule your own tasks to run at the precise moment you need them.
Verify completion of scheduled jobs
Once your scheduled jobs are complete, how do you know how things turned out? In this lesson, we'll discuss the different places cron will log on different distributions and take a look at the output. At the end of this lesson, you'll be able to figure out what happened to that job you scheduled, and whether or not it was successful.
Update software to provide required functionality and security & manage software, Part 1 - Ubuntu/Debian
Knowing how to manage software on a Linux system in order to provide the functionality that your users and developers require while maintaining a secure system is critical! In this lesson, we'll cover the tools around the aptitude package management system, commonly used in Debian systems such as Ubuntu. We'll take a close look at dpkg, apt-get, and aptitude. At the end of this lesson, you'll feel comfortable updating, installing, and uninstalling packages on Ubuntu and other Debian systems.
Update software to provide required functionality and security & manage software, Part 2 - CentOS/Redhat
Knowing how to manage software on a Linux system in order to provide the functionality that your users and developers require while maintaining a secure system is critical! In this lesson, we'll cover the tools around the aptitude package management system, commonly used in RedHat systems such as CentOS. We'll take a close look at yum and rpm. At the end of this lesson, you'll feel comfortable updating, installing, and uninstalling packages on CentOS and other RedHat systems.
Verify the integrity and availability of resources
What counts as a resource on a Linux machine? Hard disk space and RAM! In this lesson, we'll show you how to verify the integrity of the main resources a Linux server needs using the ubiquitous fsck and memtest86+ tools. At the end of this lesson, you'll be able to check out your rig and verify it's ready to go!
Verify the integrity and availability of key processes
Figuring out which processes are active can be a little bit of a challenge. In this lesson, we'll make use of tools like ps, top and htop to take a closer look at the inner workings of our systems. After this lesson, you'll be able to these tools on your systems, too.
Change kernel runtime parameters, persistent and non-persistent
In a Linux system the kernel controls almost every aspect of the operating system. Often, you will need to change parameters without taking the system down. Sometimes those changes are temporary, and sometimes they should survive a reboot. In this lesson, we'll demonstrate how to change kernel runtime parameters in ways that do and do not survive a system reboot. After this lesson, you'll be able to view parameters and change them with ease.
Use scripting to automate system maintenance tasks
Scripting is what separates the champions from the runners-up in the game of Linux! In this lesson, we'll go over the basics of shell scripting and create a very basic script to perform a series of commands in a set sequence. At the end of this lesson, you'll be able to craft sequential scripts that combine a series of commands.
Scripting conditionals and loops
Bash scripting can be a lifelong study, enabling complex behaviors if you know how it's done. In this lesson, we'll take a look at how to conditionally execute code with "if," as well as how to execute the same code over and over again with "while." At the end of this lesson, you'll understand bash scripting control structures like if and while.
Manage the startup process and services (In Services Configuration)
Starting applications on Linux is fairly easy, depending on which service manager your system uses. In this lesson, we'll go over the basics of both! Upstart and systemctl manage startup processes and services on Linux, and we'll demonstrate how to use each of them. At the end of this lesson, you'll feel comfortable starting processes on both systemctl and upstart systems!
List and identify SELinux/AppArmor file and process contexts
In order to prevent unintended consequences, Linux systems often employ security tools that prevent applications from overstepping their authority. Different distributions employ similar strategies, though implemented by different packages. In this lesson, we'll look at the utilities that will allow us to view the file and process contexts for both SELinux and AppArmor. At the end of this lesson, you'll be able to describe and find file and process contexts for both SELInux and AppArmor.
Identify the component of a Linux distribution that a file belongs to
Linux administrators will sometimes find themselves faced with a situation where they need to be able to find out which package or packages provide a particular file, such as a library or module. In this brief lesson with the MOST long-winded title, we'll discuss different methods of finding out which package was the origin for which file on a variety of distributions. We'll be demonstrating the usage of rpm and dpkg. At the end of this lesson, you'll be able to figure out which files are offered by which packages on Debian/Ubuntu systems as well as on RedHat/Centos systems.
QUIZ: Operation of Running Systems
User and Group Management (10% of the Exam)
User and Group Management
Create, Delete, and Modify Local User Accounts
Maintaining user accounts is a staple activity in the life of a Linux Administrator. In this lesson, we'll explore the differences between the useradd and adduser utilities (SPOILERS - useradd is the old, multiple steps method and adduser is the newer, does stuff for you method!). After you complete this lesson, you'll have a couple of options on your toolbelt for creating, modifying and removing user accounts.
Create, Delete, and Modify Local Groups and Group Memberships
Groups are one of the primary ways permissions get applied to users of a Linux system. In this lesson, we'll take a closer look at how to create and delete groups as well as making users members of different groups using the /etc/group file, the groups command, addgroup and groupadd, and chgrp. At the end of this lesson, you'll be able to build your own groups and create your own custom permissions based on them. Update: you can use the newgrp command to login to a new group.
Manage System-Wide Environment Profiles
Application configuration in Linux is usually done with environment variables. In this lesson, we'll demonstrate setting environment variables that might need to be set across the system. After this lesson, you will be able to set environment variables. Correction: On RHEL7, best to edit either ~/.profile or the ~/.bash_profile to make global env variables available after startup (instead of /etc/environment).
Manage Template User Environment
Templates make everything easier; managing users is no exception. In this lesson, we'll discuss the significance of the /etc/skel directory and how you can use it to manage user environments on your systems. After this lesson, you'll be able to configure your /etc/skel directory to contain precisely the files you wish to bestow to your new users.
Configure User Resource Limits
In order to preserve the availability of your server, sometimes you have to put limits on users. In this lesson, we'll talk about how to limit user resource usage by editing the /etc/security/limits.conf file. After this lesson, you should feel confident protecting your processors and hard drive space from resource hogs.
Manage User Privileges
I want some users to be able to run a command, but not others. What's an admin to do?! In this lesson, we'll take a look at how file permissions, which limit which commands a user may execute depending on group memberships, as well as how to limit whether and from where a user can log in to the system. After this lesson, you will be able to restrict command execution to particular groups.
Remember that time on The Office where Dwight built a robot version of the receptionist and... Wait! Not that PAM! Pluggable Authentication Modules in Linux allows you to configure and reconfigure how authentication takes place in PAM-aware applications. In this lesson, we'll discuss PAM and what it is for, and how systems administrators can use it to configure PAM-aware applications to use a particular authentication scheme. After this lesson, you will be able to configure PAM on Linux systems.
QUIZ: User and Group Management on Linux Systems
Networking (12% of the Exam)
Configure networking and hostname resolution statically or dynamically
Linux systems live on networks with hardware devices, Windows systems, Apple systems, and more. As such, they need to support both static IP addresses and host name resolution and standard DHCP (Dynamic Host Configuration Protocol). In this lesson, we'll look at the configuration files necessary to configure networking and hostname resolution statically or dynamically on both Debian/Ubuntu systems and CentOS/RedHat systems. After this lesson, you'll be able to statically configure your Linux system or allow it to receive configuration information from a DHCP server.
Configure Network Services to Start Automatically at Boot
Linux systems often serve as file servers, web servers, FTP servers, network times servers, and other network entities whose services are relied upon by many other machines, applications, and systems on the network. In this lesson, we'll review configuring services to start automatically at boot on both SystemD systems and SysV systems, with a focus on networking services. After this lesson, you will be able to configure services to start at boot on both SystemD systems and SysV systems.
Implement Packet Filtering
Protecting a networked machine on the Internet can be a challenge in the best of times. In this lesson, we'll go over how to implement packet filtering using iptables, and even look at how to turn a port "invisible!" After this lesson, you'll be able to use iptables to prevent connections on unauthorized ports.
Start, Stop, and Check the Status of Network Services
The Netstat and IP tools can provide a wealth of information about how things are going on a given host. In this lesson, we'll demonstrate some ways to use netstat to get more information about applications interacting with your network. After this lesson, you'll be able to use netstat check on networking services and your SystemD or SysVInit tools to start and stop key networking services.
Statically Route IP Traffic
Networking is all about getting packets of information to their destination. In overly simplified terms, this is done by each node in the system coping with each packet in one of three ways: 1) This packet is mine, end.2) I am connected to the local network this packet belongs on, broadcast it.3) I am not connected to the local network this packet belongs on, give it to another node that I am directly connected to and let the process repeat there. In this lesson, we'll demonstrate statically altering the routing table. After this lesson, you'll have a better understanding of how networking moves packets around, and will be able to adjust the routing behavior of your systems.
Synchronize Time Using Other Network Peers
Many Linux services depend on a super-accurate system time in order to reliably perform their own functions. Part of maintaining a stable, solid foundation to build services like these on is to provide them with the accuracy they need. In this lesson, we'll talk about keeping your servers synchronized to external time servers using a utility called NTP. After this lesson, you'll be able to configure your servers to periodically and automatically update their clocks for maximum accuracy.
QUIZ: Networking on Linux
Service Configuration (20% of the Exam)
Configure a Caching DNS Server
Sometimes, you just want more speed. Hostname resolution can take a while, but a caching DNS server can help! In this lesson, we'll set up a caching DNS server that will forward requests to upstream DNS servers but cache the responses, allowing for subsequent requests for the same records to be much faster. After this lesson, you'll be able to configure your Linux server to make use of this technology, too!
Maintain a DNS Zone
DNS is the contact list of the Internet, and if you have a domain, you might need to create the appropriate zone files for your DNS server. In this lesson, we'll go over the record types and procedures you'll need to maintain your very own DNS Zone. After this lesson, you'll be able to identify all the configuration files necessary to run a zone, describe A, MX, NS, and CNAME records, and maintain an SOA block for your zone.
Connect to Network Shares
Sharing makes everything nicer, doesn't it? Linux servers like to share hard drive space, and Network File Sharing (NFS) makes it very easy to do! In this lesson, we'll demonstrate how to create an NFS share on a server and then connect to it from a client. After this lesson, you'll be able to create your own NFS shares and grant access to the clients you deem appropriate. You'll also be able to connect to an NFS share from a client.
Configure Email Aliases
Email aliases can be the answer to a wide variety of questions. Do you want to send a copy of all email received by one address to an additional account? Email alias. Do you want to send all of "webmaster's" email to Bob instead? Email alias. In this lesson, we'll demonstrate how to configure email aliases using PostFix. After this lesson, you'll be able to send your own email to whomever you like. Alias responsibly.
Configure SSH Servers and Clients
Secure Shell is the de facto standard by which Linux Administrators connect to servers all over the world. In this lesson, we'll take a closer look at some of the configuration options on SSH, as well as go through the process of generating a key with keygen and distributing it with ssh-copy-id to allow users to log in securely without a password. After this lesson, you should feel comfortable doing the same.
Restrict Access to HTTP Proxy Servers
Something about that guy -- I don't trust him. How do we keep him off of our HTTP proxy? Protecting the software that keeps your users safe (and following appropriate network policies) is a no-brainer. In this lesson, we'll look at configuring squid to deny access to particular networks and hosts. After this lesson, THAT guy will pose no threat to you, because you'll be able to configure squid to allow appropriate hosts only and deny others based on client host or network.
Configure an IMAP and IMAPS Service ( and Pop3 and Pop3S!)
But what if your boss won't PAY for Gmail?! Not to worry, Linux admins have been running email servers for a LONG TIME and have it down to a science. In this lesson, we'll demonstrate installing Dovecot and configuring it to be our IMAP and IMAPS service. Then, because everyone loves a challenge, we'll add Pop3 and Pop3S functionality just to show off. After this lesson, you'll be able to install Dovecot and set up your own email server, too!
Configure an HTTP Server (RHEL/CentOS)
There's this little fad called the web, and even though it's all likely to blow over in a few more months, we'll join in the hoopla and say that installing and configuring a web server is still considered a rite of passage to many, and you're about to see it done. In this lesson, we'll demonstrate installing and setting up Apache2 on RHEL and CentOS systems. After this lesson, you'll have the know-how to install your own web server on CentOS and RHEL systems, and you should use it.
Configure an HTTP Server (Ubuntu/Debian)
In part two of this lesson, we'll discuss installing Apache2 on Ubuntu and Debian systems and look at the differences in the installation process and configuration files. After this lesson, you'll have the know-how to install your own web server on Ubuntu and Debian systems, and will be unstoppable. (Unstoppable not guaranteed.)
Configure HTTP Server Log Files
Often, your web log files will go into a log aggregator or other analysis tool so that those marketing geniuses can figure out what to tweak to get more people clicking those links. In this lesson, we'll go over how to customize the HTTP server log files in just about any way you might need. After this lesson, you'll know the language of the log files and can organize them according to your whim. Also, the whim of that log analysis tool.
Restrict Access to a Web Page
In this lesson, we'll talk about how to restrict access to a web page in Apache2. We'll also troubleshoot getting it wrong (I TOTALLY meant to do that -- for learning!) and repairing configuration files.
Configure a Database Server
When developers want to persist information, they'll usually ask for a database server. There are many to choose from with a variety of different features and niches, but the most popular would probably come down to a race between MySQL and MariaDB, which is good because MariaDB is a direct drop-in replacement for MySQL. In this lesson, we'll talk a little bit about some of the database servers available out there, and specifically install and configure MariaDB. We'll also take a brief look at the MySQL console, and explore one of MariaDB's biggest gotchas. Note: systemctl can now be used to enable and start MariaDB. https://mariadb.com/kb/en/library/systemd/
Manage and Configure Containers
Containers are all the rage, and it would definitely do you and your resume some good to get some experience under your belt in dealing with them. They enable you to encapsulate your application, dependencies, and data into a single entity that can be easily and quickly transferred, brought up or down, and managed identically on different systems. It really does sound almost too good to be true, so in this lesson, we'll demonstrate using Docker to bring up a web server -- and then completely remove it. This will give you a quick introduction to the exciting world of containers. After this lesson, you'll be able to do some basic Docker commands like download, start, and stop containers. If this whets your interest for more, see our Docker Certification Prep course and our LXD/LXC Deep Dive!
Manage and Configure Virtual Machines
Long before containers, virtual machines were the Linux administrator's ace in the hole when it came to process isolation. Sure, they're a bit more resource heavy, but they're stable and have a lot of options when it comes to managing them. In this lesson, we'll take a look at creating, managing, and configuring virtual machines running on a Linux host using KVM and a variety of command line and graphical tools. After this lesson, you'll be able to use KVM related tools like vm-manager, vm-install, and virsh to create, manage, start, and stop your own virtual machines.
QUIZ: Service Configuration on Linux Systems
Storage Management (13% of the Exam)
List, Create, Delete, and Modify Physical Storage Partitions
The first step in provisioning block storage is usually to partition it. In this lesson, we'll demonstrate the proper use of fdisk and parted to partition hard drive space. After this lesson, you should feel comfortable repartitioning block storage devices, but remember to always have a backup.
Manage and Configure LVM Storage
Logical Volume Management allows you to join multiple physical disks together in such a way that the aggregated device is presented to the operating system as a single device. Think of it like Software RAID0. In this lesson, we'll show you how to partition your devices for Logical Volume Management, how to create the physical volumes (pv-create), set up the logical volumes (lv-create), and then create the volume groups(vg-create) to format(mkfs). We'll even show you how to expand the whole system once it's in place. Albeit with a teeny tiny disk. After this lesson, you'll be able to partition your own (hopefully larger) block devices, create the physical volumes, logical volumes, volume groups, and write file systems to the whole thing. You will also be able to add or remove physical devices from the array as needed.
Create and Configure Encrypted Storage
Protecting your data can be a huge challenge. Configuring an entire drive can be helpful in situations where you need open access to data periodically, but need to be able to lock and unlock the data at will. In this lesson, we create encrypted storage using cryptsetup, and Chad seriously opens up his typing skills to worldwide ridicule. After this lesson, you will feel AMAZING about your own typing skills, and will be able to use them to set up an encrypted partition using cryptsetup.
Configure Systems to Mount File Systems at or During Boot
That file system isn't going to mount itself! This isn't Windows! File systems in Linux require intelligent, thoughtful, and responsible administrators to carefully consider which file systems should be available at boot and edit the fstab to reflect their wishes. In this lesson, we'll examine the /etc/fstab file, and we'll see how it's used to mount file systems at boot time. After this lesson, you'll be familiar with the format of the /etc/fstab file yourself and can finally mount that USB drive on your keychain. Or that SCSI disk. Or really, whatever you've got.
Configure and Manage Swap Space
Swap space is used when the kernel needs more RAM, but there is no more RAM. It "swaps" pages of memory out to disk in either a swap file or swap partition. In this lesson, we'll discuss more about what swap is, how much you need, how to turn it off and on (swapon and swapoff -- SURPRISE!) , and where and how it's defined. After this lesson, you should be able to create your own swap files and partitions and turn them on or off again as needed.
Create and Manage RAID Devices
RAID (Redundant Array of Independent Disks) is a great way to not just present a single device from multiple devices, but also a way to use that storage space to guarantee file durability. In this lesson, we'll take a closer look at putting multiple physical devices together into a software RAID array using mdadm. Perfect for when you need one big device instead of the several smaller ones you have, or when you'd like some extra insurance against drive failure. After this lesson, you will be able to use mdadm, fdisk, and mkfs to create your own arrays for redundancy or device aggregation.
Configure Systems to Mount File Systems on Demand
Linux can't really touch anything on disk until it's mounted up and ready. Never fear, though, we've got it covered. In this lesson, we'll show you how to use the mkdir command to create mount points and the mount and umount commands to mount and unmount devices, respectively. After this lesson, you'll be able to use the mount and umount commands, as well. For more information on creating a Samba file share, see: https://tutorials.ubuntu.com/tutorial/install-and-configure-samba#0
Create, Manage and Diagnose Advanced File System Permissions
Standard file permissions don't always cover all the bases. For the edge and corner cases, there are advanced file permissions like the sticky bit, setgid, and setuid. In this lesson, we'll demonstrate using chmod to set these additional permissions, and even how to find files with those permissions set on them. After this lesson, you'll be able to make use of advanced file permissions on your system.
Setup User and Group Disk Quotas for File Systems
Often, you'll need to limit the amount of disk space a certain user or group of users can make use of. In this lesson, we'll explore limiting particular users or groups in their usage of block storage using the Linux quota command. After this lesson, you'll be able to set hard and soft limits and set grace periods for users to clean up their files.
Create and Configure File Systems
File systems lay at the very heart of Linux. "Everything in Linux is a file." And file systems control it all. In this lesson, we'll create two different file systems on the same hard drive (but different partitions) using fdisk and mkfs and then mount them on the host machine using mount.
QUIZ: Storage Management on Linux Systems
EXAM: Key Linux Commands, Terms and Utilities
Registering for and Taking the Exam
The Linux Foundation's Certified Sysadmin exam. It's why you're here, right? In this lesson, I will walk you through registering for the exam at: http://training.linuxfoundation.org/certification/lfcs After this lesson, you should go and register to take it!
So now you've got your LFCS certification... What're you going to do next? I have some ideas if you'll just give me another tiny bit of your time. Thanks for sticking with me to the end!