
Explore what Linux is, why it's essential in today's tech world, and follow a step-by-step installation guide to get your system running, even if you're new.
Linux is an open source operating system that mediates hardware resources for apps, tracing its history from Linus Torvalds and the GNU project and summarizing distributions.
Explain why Linux is the primary operating system in the corporate world, highlighting reliability, security, free open source software, lightweight performance, powerful command line, and robust package managers.
Install VirtualBox on Windows to set up your Linux lab, download the Windows host package from virtualbox.org, run the installer wizard, and complete the default setup in the VirtualBox Manager.
Create your first virtual machine in Oracle VirtualBox, assign 2 GB memory, 1 CPU, and a 50 GB disk to install Linux for the lab.
Add a second virtual hard disk to the Linux virtual machine, create a 20 gb VDI, and attach it via the SATA controller for upcoming Rocky Linux lessons.
Rocky Linux replaces CentOS as an unofficial successor after CentOS end of life, remaining compatible with Red Hat Enterprise Linux, and serving well for web servers and diverse tasks.
Install Rocky Linux 9.0 inside a VirtualBox VM by attaching the ISO. Configure language, set a root password, enable root ssh login, and reboot to log in as root.
Master NAT port forwarding in VirtualBox to solve network issues connecting to a Linux virtual machine via Putty, using host port 2222 and guest port 22.
Access the linux command line by opening the terminal, then use basic commands like date, uptime, who, and pwd, and explore options with --help and man pages.
Discover the Linux file system hierarchy and how each directory serves admins, from /bin and /sbin binaries to /etc configuration files, /var logs, /home directories, and /boot kernels.
Create files and directories in linux using touch and mkdir, including full paths like /home/Mturk/downloads/file5.txt; verify with ls, and explore nested directories with mkdir -p and ls -R.
Share a review to provide feedback that helps me improve this course and assists other students discovering it; if your review doesn't appear within three days, contact Udemy support.
Learn to find your way in linux by using who am I, hostname, and pwd, then navigate with ls and cd between home directories, including hidden files.
Master linux file management by copying, moving, renaming, and deleting files with cp, mv, and rm. Use pwd and ls to navigate, apply full paths, and use -v for clarity.
Learn to manage directories in Linux by creating, listing, entering, and deleting, and copy, move, rename, and delete with mkdir, ls, cd, pwd, touch, cp -r, mv, and rm -r.
Use the cat command to view file contents, create new files, copy files with redirection, and display cpu information, with lines numbered by cat -n.
Learn to use grep and regular expressions to analyze files and troubleshoot log data, using -i and start with and end with patterns on password and apache config files.
Master the grep command for pattern-based search in Linux, including case-insensitive matching, start/end/contain patterns, piping to wc and redirection for log analysis.
Learn to create and edit text files using vi, vim, or nano, switch between command, insert, and last-line modes, save and quit, and perform basic editing commands.
Learn how to create hard and soft links, compare inodes and link counts, and see how permissions, content updates, and deletions affect original files and their links.
Search files in Linux using locate and find; apply case-insensitive searches, limit results, update locate database, and filter by name, user, group, size, permissions, time, type, and links.
Archive and compress files in Linux using tar, gzip, bzip2, and xz. Create and extract archives, view contents, and combine archiving with compression for directories.
Learn to access remote Linux systems with SSH, specify usernames and hosts, manage known_hosts and host keys, and understand public key authentication.
Learn ssh key-based authentication by generating a private and public key pair, copying the public key to the remote server with ssh-copy-id, and using a passphrase for secure login.
Disallow root login over ssh by setting PermitRootLogin no in sshd_config, restart sshd, and verify; then login as a normal user and switch to root using key-based authentication only.
Learn to copy files securely between systems using scp and sftp, with ssh-based authentication and encrypted transfer, including uploading, downloading, and directory copies.
Use rsync to securely copy files and directories between systems, copying only changes and using archive mode to preserve permissions, timestamps, ownership, and symbolic links.
Learn to generate public and private keys, install and configure OpenSSH, and enable passwordless authentication to remote hosts using ssh-copy-id or manual key transfer.
Modify the ssh config file to change port to 1881, enable protocol 2, and enforce key-based authentication, then apply changes with systemctl reload sshd and read the sshd manual.
Learn to manage local Linux users and groups, inspect user and file ownership with id and ls, and create or delete users and groups using useradd, userdel, groupadd, and groupdel.
Learn how to manage Linux I/O streams, redirect standard output and standard error to files, append or overwrite outputs, and use pipes and cat to concatenate files.
Modify existing users and groups and control password aging with chage. Learn locking and unlocking accounts with sudo user mode -L/-U and managing groups with groupadd and groupmod.
Configure a system to use an existing authentication service such as OpenLDAP to centralize users, groups, and permissions, then verify login for an ldap user one.
Learn how to set linux file and directory permissions using owner, group, and others. Understand read, write, and execute bits, and use chmod and chown to manage access.
Set and modify file and directory permissions using symbolic notation and chmod, mastering owner, group, and other rights with practical IT department examples.
Master setuid, setgid, and the sticky bit with practical examples like the password command and temp directory. Understand how umask shapes default permissions for new files and directories.
Manage ACLs for files and directories using getfacl and setfacl. Control user, group permissions, inheritance, and recursive application across a directory.
Learn to monitor Linux running processes with the ps command, view pid, user, cpu and memory usage, state, and parent process relationships using common options.
Learn to manage Linux jobs by running long commands in the background, using & and bg/fg, suspending with Ctrl+Z, and terminating tasks with kill, to keep your terminal productive.
Learn to manage Linux processes with kill and pkill, sending signals such as sigterm, sigstop, and sigkill to stop or terminate processes by pid, job, or service.
Learn to monitor a linux system in real time with the top command, including uptime, load averages, memory and cpu usage, and process management.
Set and modify Linux process priorities with renice and nice values to allocate CPU time for important tasks, then verify changes with top.
Master both on-the-fly and persistent kernel parameter configuration. Navigate the kernel parameter files, check permissions, view and modify values with sysctl and direct writes, and save persistent changes in /etc/sysctl.conf to survive reboots.
Install systat, then use iostat and pidstat to report cpu, device, and process utilization, and run sadf to render readable sar logs for system reports.
Master systemctl to manage systemd units, check service status, and enable services to start at boot. List unit types, view active and failed services, and inspect unit files.
Learn to manage linux services with systemctl: start, stop, reload, enable or disable services, check status, handle dependencies, and use masking and unmasking to control startup behavior.
Learn how Linux stores and analyzes logs in /var/log, including secure, cron, messages, and lastlog files. Use tail, head, and real-time monitoring to troubleshoot and view system status.
Learn how rsyslog manages syslog data in /var/log, explains log rotation via logrotate, and shows configuring rsyslogd via /etc/rsyslog.conf and rsyslog.d to route and test kernel, daemon, and user messages.
Explore how the systemd journal aggregates kernel and service logs, read and filter entries with journalctl, monitor real-time output, and search by priority, time range, and unit.
Configure systemd journal to save logs on the file system by creating /var/log/journal, setting owner to root and group to systemd-journal, and applying proper permissions; verify with journalctl and ls.
Learn to reboot and shut down a Linux system using systemctl reboot, shutdown, and power off, including scheduling, canceling, and safe power-off options such as halt or init zero.
Learn how systemd manages targets and how to switch manually between graphical and multi-user targets, set the default target with systemctl, and understand runlevels versus targets.
Learn to reset the root password by interrupting boot in grub, entering emergency mode, remounting root as read-write, changing the password, and relabeling SELinux for login access.
Learn to examine the Linux file system, view partition usage and free space with df and du, identify devices in /dev, and understand mounting and temp fs basics.
Learn to mount and unmount a Linux file system using /dev/sdb1 or uuid via blkid, mount to new hard directory, verify with df -h, and resolve busy targets with lsof.
Create, form at, mount, and unmount vfat, ext4, and zfs file systems on sdb and sdc partitions. Manage partitions with fdisk and gparted, configure fstab, verify with df, and repair zfs.
Configure lvm by creating physical volumes, a volume group, and a logical volume with ext4, then mount and resize the filesystem on the home directory.
Extend the existing logical volume by adding a new physical volume to the lion volume group, then lvextend the data volume and resize the filesystem (zfs) accordingly.
Create a swap partition on a second disk and set up a swap file to extend memory, then enable and verify swap with swapon and free, updating fstab for persistence.
Create and mount a video volume with the virtual data optimizer on Linux to improve storage space and i/o efficiency, format with zfs, and set fstab for permanent mounting.
Configure a Linux system as an iSCSI target by installing target cli, creating a block device, setting the iqn and ACL, and enabling authentication and firewall port 3260.
Configure an iSCSI initiator and mount a remote file system by installing initiator utilities, editing the initiator name and conf, discovering and authenticating the target, and mounting the volume.
Learn to mount and unmount NFS and CIFS network file systems on a Linux client, configure persistence with fstab, and verify mounts with df -h.
Configure samba to provide a share to a specific client by setting up a linux server and client, creating a dedicated smb user, and mounting via fstab.
configure samba by editing smb.conf to create a sales group share with setgid, and mount the samba share on a client for group collaboration.
Learn to configure Kerberos to control access to NFS network shares, create principals, manage the KDC and admin services, and secure client authentication with tickets.
Configure NFS with Kerberos authentication across server and client, install and start rpcbind and NFS, and set up a Kerberos-enabled export and verify access.
Configure NFS shares for specific clients with read/write and read-only options, including SELinux and firewall considerations. Install NFS utilities, export settings, start services, and mount on the client with persistence.
Set up a group-shared NFS directory using setgid, align group id 30000 on server and client, configure exports and fstab, and apply the sticky bit for safe collaboration.
Review and test Linux network configurations using the ip command, identify mac addresses, IPv4/IPv6 details, and routing. Test connectivity and ports with ping, traceroute, ss, and netstat, and inspect /etc/services.
Configure Linux networking with nmcli to list and manage connections, create default and static Ethernet profiles, adjust auto connect, dns and ip settings, then verify with ip addr and ping.
Configure linux network by editing interface files like ifcfg-static and eth0, set static IP 192.168.1.150 with dns 8.8.8.8 and 4.2.2.2, reload via nmcli, and verify with ip addr.
Learn to modify a Linux machine's hostname with hostnamectl, verify changes across sessions, and manage name resolution using hosts, resolv.conf, and dns settings via nmcli, tested with ping.
Configure IPv6 addresses on a Linux system using nmcli, creating and modifying an Ethernet connection with manual IPv6 settings, and perform basic IPv6 troubleshooting with ping6.
Install the teamed package, create a team connection with nmcli, add two slave interfaces, set a static IPv4 address and gateway, and verify high-availability as one link fails.
Configure and manage firewalld on Red Hat systems to control traffic via zones, ports, and services. Use permanent rules, reload, and firewall-cmd options, and firewall-config for GUI management.
Enable masquerading to translate internal traffic to the firewall’s public ip, using firewall-cmd commands to set, verify, and reload the nat rule.
Learn to configure firewalld rich rules to accept or block traffic from a source address, limit ssh connections on port 22, and manage rules via permanent, reload, and list commands.
Configure port forwarding with firewalld to forward traffic from port 22 to 2222 on a local or external host, enable masquerading for external targets, and use reach rules for IPv4.
This course is designed to help you become a skilled Linux System Administrator by teaching you everything you need to know through real-world tasks and hands-on projects. We start with Linux Administration, where you learn how to install, manage, and troubleshoot Linux systems. You’ll work with users, permissions, file systems, services, and networking – all the core skills a Linux admin needs.
Next, we focus on Linux Security, because keeping systems safe is one of the most important jobs of a system administrator. You’ll learn how to secure user accounts, set file permissions, configure firewalls, and use tools like SELinux to protect your servers from attacks.
We then cover Secure Shell (SSH) – the main tool system admins use to connect to remote Linux servers. You’ll learn how to use SSH to log in securely, transfer files, and run commands on other machines without needing to be there physically.
After that, we go into Linux Shell Scripting, which helps you automate boring or repeated tasks. You’ll learn how to write your own scripts using Bash – a must-have skill for saving time and avoiding mistakes when managing multiple servers.
To help you apply your knowledge, we include Linux Projects based on real-life situations. These projects will test your skills and help you build confidence in areas like user management, system backups, log analysis, and server setup.
Then, we introduce Ansible, a powerful tool for automating system configuration and software installation. With Ansible, you can manage many servers with just a few simple commands. This is great for any Linux administrator working in larger environments.
We also teach Docker, which helps you run applications inside containers. Containers are lightweight, fast, and easy to use – and knowing Docker is important if you're working with modern infrastructure or in DevOps roles.
Another topic we cover is the Apache Web Server. As a Linux admin, you may be asked to host websites or web applications, and Apache is one of the most common web servers in use today. You’ll learn how to install, configure, and manage Apache.
Lastly, we include Python for Linux Admins, teaching you how to use Python scripts to automate tasks, analyze logs, and manage servers. Python is easy to learn and powerful to use.
We finish with some DevSecOps Essentials, helping you understand how security fits into automation and system management – skills every modern Linux admin should know.
We believe anyone can succeed with the right guidance and practical experience. Start now. Join us today!