Skip to content
Français
Account: not signed in, sync available My learning
Select theme
Français

Practise

Linux labs

The ground everything else stands on: a terminal, services that fail, permissions to reason about, and machines to put back on their feet.

Back to all 404 labsHow to run a lab

  • 89 labs
  • 41 hours of practice
  • 69 on a virtual machine

What you will practise partitioning and LVMsystemd and journalsusers and permissionsnetworking and firewallsSELinuxcontainerstroubleshooting

The CLI comes first, with uv or pipx: no administrator rights, Python 3.11 is enough. uv tool install dsoxlab # or: pipx install dsoxlab Install DSOXLab

Add this catalogue dsoxlab catalog add https://github.com/stephrobert/linux-dsoxlab-training 3 of 89 played and scored by the author, 86 to re-attest

Fundamentals

20
  • Guided lab to re-attest 15m · beginner · shell

    First steps in the terminal

    Run basic commands (whoami, pwd, hostname, date) and capture the output in a file.

    dsoxlab start l1-first-terminal

    RHCSALFCS Companion guide

  • Guided lab to re-attest 20m · beginner · shell

    Map Linux: kernel, distribution and key directories

    Explore what Linux is made of: run real commands on your own system to discover the kernel, your distribution and the role of /etc, /var/log and /proc. Fill in a knowledge map.

    dsoxlab start l1-discover-linux-map

    RHCSALFCS Companion guide

  • Guided lab to re-attest 15m · beginner · shell

    Choose your reference Linux distribution

    Compare Debian/Ubuntu and RHEL-based distributions, understand the criteria for choosing between them, and document your choice for three practical scenarios.

    dsoxlab start l1-choose-distro

    RHCSALFCS Companion guide

  • Guided lab to re-attest 15m · beginner · shell

    Identify your Linux machine

    Run commands to collect your system's hostname, distribution, kernel version and IP address. Produce a machine identity card stored in vm-info.txt.

    dsoxlab start l1-prepare-vm

    RHCSALFCS Companion guide

  • Guided lab to re-attest 20m · beginner · shell

    Read and decode a command

    Decompose 5 Linux commands into their command/options/arguments parts and fix 3 broken commands.

    dsoxlab start l1-read-a-command

    RHCSALFCS Companion guide

  • Guided lab to re-attest 20m · beginner · shell

    Get help from the command line

    Use man, --help, and apropos to find the right command options without searching the web.

    dsoxlab start l1-get-help

    RHCSALFCS Companion guide

  • Guided lab to re-attest 20m · beginner · shell

    Linux filesystem hierarchy (FHS)

    Match the standard Linux directories to their roles and classify files by location.

    dsoxlab start l1-linux-filesystem

    RHCSALFCS Companion guide

  • Guided lab to re-attest 30m · beginner · shell

    Navigate the filesystem

    Use cd, ls, mkdir, cp, mv, rm to build a target directory tree from scratch.

    dsoxlab start l1-navigate-filesystem

    RHCSALFCS Companion guide

  • Guided lab to re-attest 25m · beginner · shell

    Absolute and relative paths

    Copy a file using an absolute path and a relative path, then solve 5 path navigation puzzles.

    dsoxlab start l1-paths-absolute-relative

    RHCSALFCS Companion guide

  • Guided lab to re-attest 20m · beginner · shell

    Redirect streams and chain commands with pipes

    Redirect stdout and stderr, merge them, and chain commands with pipes to produce exact artifacts.

    dsoxlab start l1-redirections-pipes

    RHCSA Companion guide

  • Guided lab to re-attest 25m · beginner · shell

    Filter a log with grep and regular expressions

    Use grep with anchors, character classes, invert-match and count to extract exact facts from an access log.

    dsoxlab start l1-grep-regex

    RHCSALFCS Companion guide

  • Guided lab to re-attest 30m · beginner · shell

    Transform and aggregate text with cut, sort, uniq, sed and awk

    Slice columns, deduplicate, count occurrences, sum a field and rewrite a delimiter to turn a raw record file into exact facts.

    dsoxlab start l1-text-processing

    RHCSALFCS Companion guide

  • Guided lab to re-attest 25m · beginner · shell

    Locate files with find by name, size and permissions

    Extract a project tree and use find to list files by name pattern, by size and by exact permissions, producing the results into files that are checked against the real tree.

    dsoxlab start l1-find-files

    RHCSALFCS Companion guide

  • Guided lab to re-attest 25m · beginner · shell

    Archive, compress and selectively extract with tar, gzip and bzip2

    Create gzip and bzip2 tarballs, list their contents, and extract a single member into a target directory.

    dsoxlab start l1-tar-archives

    RHCSA Companion guide

  • Guided lab to re-attest 25m · beginner · shell

    Set exact file permissions with chmod (octal and symbolic)

    Give each file the right owner/group/other bits: a private secret, an executable script, a group-readable note and a private directory.

    dsoxlab start l1-permissions-ugo

    RHCSALFCS Companion guide

  • Guided lab to re-attest 25m · beginner · shell

    Create hard and symbolic links and tell them apart

    Make a hard link that shares the inode, a symbolic link that points by path, and a symlink to a directory, proven by inode, link count and link target.

    dsoxlab start l1-links-hard-sym

    RHCSA Companion guide

  • Guided lab to re-attest 35m · beginner · shell

    Write a first Bash script: variables, a loop and a condition

    Write rapport.sh that reads a status file passed as an argument, counts UP/DOWN with a loop, prints them, and exits non-zero when any host is down.

    dsoxlab start l1-bash-script

    RHCSALFCS Companion guide

  • Guided lab to re-attest 30m · beginner · shell

    Initialize a Git repo: commit, history and a branch

    Create a repository, make two commits tracking real files, and open a feature branch, proven by inspecting the repository state itself.

    dsoxlab start l1-git-basics

    LFCS Companion guide (French)

  • Guided lab to re-attest 25m · beginner · shell

    Environment variables: export, PATH and a sourced env file

    Write env.sh that, when sourced, exports variables, reuses one in another, and prepends a bin directory to PATH, proven by sourcing it in a subshell.

    dsoxlab start l1-env-profiles

    LFCS Companion guide

  • Guided lab to re-attest 25m · beginner · shell

    Inspect a TLS certificate with openssl

    Read a delivered X.509 certificate: extract its subject, validity dates, SHA-256 fingerprint and public key with openssl x509.

    dsoxlab start l1-ssl-certificates

    LFCS Companion guide (French)

Operating and maintaining

18
  • Guided lab to re-attest 25m · intermediate · virtual machines

    Add and manage swap space

    Create a secure swap file, activate it, make it persistent in /etc/fstab and tune vm.swappiness.

    dsoxlab start l2-swap-management

    RHCSALFCS Companion guide (French)

  • Guided lab to re-attest 25m · intermediate · virtual machines

    Mount a filesystem persistently by UUID in /etc/fstab

    Mount a pre-formatted extra disk at /srv/data through /etc/fstab, referenced by UUID (not device name) so it survives a reboot, and prove the line with mount -a AND findmnt --verify.

    dsoxlab start l2-fstab-persist-uuid

    RHCSALFCS Companion guide (French)

  • Guided lab to re-attest 25m · intermediate · virtual machines

    Create GPT partitions on a disk with parted

    Put a GPT label on the spare disk and carve two partitions (512 MiB and 1 GiB), then make the kernel re-read the table.

    dsoxlab start l2-partition-gpt

    RHCSALFCS Companion guide (French)

  • Guided lab to re-attest 25m · intermediate · virtual machines

    Create and label an XFS filesystem, then mount it

    Format a prepared partition as XFS with a label, create a mount point and mount it, proven by the filesystem type, its label and the active mount.

    dsoxlab start l2-filesystem-create-xfs

    RHCSALFCS Companion guide (French)

  • Guided lab to re-attest 25m · intermediate · virtual machines

    Diagnose a full filesystem and reclaim space

    A filesystem is full. Find the culprit with df/du, remove the junk without deleting the legitimate data, and bring usage back down.

    dsoxlab start l2-disk-space-troubleshoot

    RHCSALFCS Companion guide (French)

  • Guided lab to re-attest 20m · intermediate · virtual machines

    Tune a mount for performance with noatime (persistently)

    A read-heavy filesystem wastes I/O writing access times. Add the noatime mount option, make it active and persistent in /etc/fstab.

    dsoxlab start l2-storage-performance

    LFCS Companion guide (French)

  • Guided lab to re-attest 25m · intermediate · virtual machines

    Extend a logical volume and prove the mount survives a reboot

    Extend an LVM logical volume, grow the XFS filesystem, and make the mount persistent via /etc/fstab by UUID.

    dsoxlab start l2-lvm-extend-persist

    RHCSALFCS Companion guide (French)

  • Guided lab to re-attest 30m · intermediate · virtual machines

    Mount an NFS export persistently from a server

    A second host exports an NFS share. Mount it on the client at /mnt/nfs, make it persistent in /etc/fstab with _netdev so it survives a reboot.

    dsoxlab start l2-nfs-mount-persist

    LFCS Companion guide (French)

  • Guided lab to re-attest 30m · intermediate · virtual machines

    Mount a filesystem on demand with autofs

    Configure autofs so that accessing /autofs/data mounts the spare disk automatically, and unmounts it after idle, a master map plus a mount map.

    dsoxlab start l2-autofs-ondemand

    LFCS Companion guide (French)

  • Guided lab to re-attest 30m · intermediate · virtual machines

    Build a software RAID 1 with mdadm

    Assemble two disks into a redundant RAID 1 array with mdadm, format and mount it, and make it persistent.

    dsoxlab start l2-raid-mdadm

    LFCS Companion guide (French)

  • Guided lab to re-attest 30m · intermediate · virtual machines

    Encrypt a disk with LUKS

    Encrypt a block device with LUKS2, open it, put a filesystem on it, mount it and make it unlock at boot via crypttab.

    dsoxlab start l2-luks-encryption

    RHCSA Companion guide (French)

  • Guided lab to re-attest 20m · intermediate · virtual machines

    Create a local account with exact UID, shell and groups

    Onboard a user with a specific UID, home, login shell, a primary group and a supplementary group, the RHCSA account-creation drill.

    dsoxlab start l2-user-lifecycle

    RHCSALFCS Companion guide (French)

  • Guided lab to re-attest 25m · intermediate · virtual machines

    Enforce password aging and complexity policy

    Set per-account password aging with chage, the system default max age in login.defs, and a minimum password length via pwquality.

    dsoxlab start l2-password-policy

    RHCSALFCS Companion guide (French)

  • Guided lab to re-attest 25m · intermediate · virtual machines

    Delegate limited sudo rights with a sudoers drop-in

    Grant the operators group password-less sudo for systemctl only, via a validated /etc/sudoers.d drop-in, least privilege, not full root.

    dsoxlab start l2-sudo-delegation

    RHCSALFCS Companion guide (French)

  • Guided lab to re-attest 25m · intermediate · virtual machines

    Grant fine-grained access with POSIX ACLs

    Go beyond ugo: give one user rw on a file and a group rx on a directory, with a default ACL so new files inherit it, using setfacl/getfacl.

    dsoxlab start l2-acl-posix

    RHCSALFCS Companion guide (French)

  • Guided lab to re-attest 20m · intermediate · virtual machines

    Set up a collaborative directory with the set-GID bit

    Give a shared directory the devteam group and the set-GID bit so files created inside inherit the group, proven by the directory mode and a member's new file.

    dsoxlab start l2-collaborative-setgid

    RHCSALFCS Companion guide (French)

  • Guided lab to re-attest 20m · intermediate · virtual machines

    Install, remove and query packages with dnf

    Bring the machine to a target software state: install a needed package, remove an unwanted one, and confirm with dnf/rpm queries.

    dsoxlab start l2-package-management

    RHCSA Companion guide (French)

  • Guided lab to re-attest 20m · intermediate · virtual machines

    Configure a dnf repository with a .repo file

    Add a software repository under /etc/yum.repos.d: an id, a baseurl, enabled and GPG-checked, then confirm dnf sees it.

    dsoxlab start l2-repo-configure

    RHCSA Companion guide (French)

Services and troubleshooting

14
  • Guided lab to re-attest 15m · beginner · virtual machines

    Set the default systemd boot target

    A server has no business booting into a graphical target. Set the default to multi-user.target and confirm it.

    dsoxlab start l3-boot-target

    RHCSALFCS Companion guide

  • Guided lab to re-attest 20m · intermediate · virtual machines

    Add a persistent kernel boot parameter

    Add a kernel command-line parameter to the current kernel with grubby and to /etc/default/grub for future kernels, so it survives reboots and updates, proven by grubby and the grub config.

    dsoxlab start l3-grub-kernel-args

    RHCSA Companion guide (French)

  • Guided lab to re-attest 30m · intermediate · virtual machines

    Create and enable a systemd service unit

    Wrap a program in a systemd .service unit, start it and enable it at boot, proven by the service being active, enabled and doing its job.

    dsoxlab start l3-service-create-unit

    RHCSALFCS Companion guide

  • Guided lab to re-attest 30m · intermediate · virtual machines

    Diagnose and fix a systemd service stuck in a crash loop

    A systemd service keeps restarting because of a missing config file. Use systemctl + journalctl to find the root cause and fix it permanently.

    dsoxlab start l3-service-diagnose

    RHCSALFCS Companion guide (French)

  • Guided lab to re-attest 20m · intermediate · virtual machines

    Make the systemd journal persistent across reboots

    By default logs vanish on reboot. Enable persistent journald storage so /var/log/journal keeps history, proven by config, directory and a real journal file.

    dsoxlab start l3-journald-persist

    RHCSALFCS Companion guide (French)

  • Guided lab to re-attest 20m · intermediate · virtual machines

    Schedule a recurring job with cron

    Run /usr/local/bin/report.sh every day at 02:30 through a cron entry, proven by the actual schedule the cron daemon will honour.

    dsoxlab start l3-scheduling-cron

    RHCSALFCS Companion guide

  • Guided lab to re-attest 15m · intermediate · virtual machines

    Schedule a one-shot job with at

    Queue a command to run once at a later time with at, and prove it is scheduled, the one-off counterpart to cron.

    dsoxlab start l3-scheduling-at

    RHCSALFCS Companion guide

  • Guided lab to re-attest 25m · intermediate · virtual machines

    Schedule a recurring job with a systemd timer

    Create a .service and its .timer (OnCalendar), enable it, and prove it is active and persistent, the systemd way to schedule recurring work.

    dsoxlab start l3-scheduling-timers

    RHCSALFCS Companion guide

  • Guided lab to re-attest 25m · intermediate · virtual machines

    Set per-user resource limits (open files) with limits.d

    Give the appuser account a higher open-files limit via /etc/security/limits.d, proven by the effective ulimit in a real login session.

    dsoxlab start l3-app-constraints

    LFCS Companion guide

  • Guided lab to re-attest 20m · intermediate · virtual machines

    Harden kernel parameters persistently with sysctl.d

    Disable IP forwarding and ICMP redirects via /etc/sysctl.d, applied now and surviving reboot, proven by the live sysctl values.

    dsoxlab start l3-sysctl-persist

    RHCSA Companion guide (French)

  • Guided lab to re-attest 25m · intermediate · virtual machines

    Lower a service's scheduling priority with Nice

    A batch worker hogs the CPU. Give its service a nice value of 10 so it yields to interactive work, proven by the live process priority and the unit config.

    dsoxlab start l3-process-signals-priority

    LFCS Companion guide

  • Guided lab to re-attest 20m · intermediate · virtual machines

    Apply a tuned performance profile

    Switch the active tuned profile to throughput-performance and make it stick, proven by the active profile the tuned daemon reports.

    dsoxlab start l3-tuned-profile

    RHCSA Companion guide

  • Guided lab to re-attest 25m · intermediate · virtual machines

    Recover a read-only mount caused by a broken fstab

    A bad /etc/fstab option left /srv/data mounted read-only. Fix the entry, remount read-write, and make mount -a clean again.

    dsoxlab start l3-fs-readonly-recover

    RHCSALFCS Companion guide (French)

  • Guided lab to re-attest 25m · intermediate · virtual machines

    Repair a broken sshd config before it locks you out

    A drop-in left an invalid directive: sshd -t fails, so the next reload or reboot would kill remote access. Fix the config, keep root login disabled, and reload cleanly.

    dsoxlab start l3-ssh-access-recovery

    RHCSALFCS Companion guide (French)

Network, security and containers

15
  • Guided lab to re-attest 15m · beginner · virtual machines

    Synchronize the clock with chrony and set the timezone, persistently

    Enable and start chronyd, turn NTP on and set the timezone to Europe/Paris, surviving reboot, proven by the live service state and timedatectl.

    dsoxlab start l4-ntp-sync

    RHCSA Companion guide (French)

  • Guided lab to re-attest 25m · intermediate · virtual machines

    Configure a persistent static IPv4 with NetworkManager

    Create a NetworkManager connection with a static IPv4 (manual method) that survives reboot, proven by the on-disk profile and the live address.

    dsoxlab start l4-network-static-persist

    RHCSA Companion guide

  • Guided lab to re-attest 25m · intermediate · virtual machines

    Diagnose and restore a down network connection

    A NetworkManager connection is configured but stays down and won't auto-start. Diagnose it, bring it up, and make it auto-connect, proven by the live state and autoconnect flag.

    dsoxlab start l4-network-troubleshoot

    RHCSA Companion guide

  • Guided lab to re-attest 20m · intermediate · virtual machines

    Open a firewalld service permanently

    Allow the http service through firewalld so it holds now and after reload/reboot, proven by the runtime and permanent service lists, without ever closing ssh.

    dsoxlab start l4-firewall-persist

    RHCSA Companion guide (French)

  • Guided lab to re-attest 20m · intermediate · virtual machines

    Set up hardened key-based SSH access for a service user

    Give the deploy user key-based SSH login with correct ownership and permissions (.ssh 700, authorized_keys 600, owned by the user), the classic trap that silently breaks key auth.

    dsoxlab start l4-ssh-key-auth-harden

    RHCSA Companion guide

  • Guided lab to re-attest 20m · intermediate · virtual machines

    Run a detached container with Podman

    Pull an image and run a named container detached, and prove it is up, the Podman basics for RHCSA containers.

    dsoxlab start l4-podman-basic

    RHCSA Companion guide (French)

  • Guided lab to re-attest 30m · advanced · virtual machines

    Run a container as a systemd service with Quadlet (boot-persistent)

    Define a Quadlet .container unit so a container starts at boot under systemd, proven by the active service, the running container and the on-disk unit.

    dsoxlab start l4-podman-systemd-persist

    RHCSA Companion guide (French)

  • Guided lab to re-attest 25m · intermediate · virtual machines

    Manage container images: pull, tag, save and inspect

    Pull an image from a registry, tag it, save it to an archive and inspect that archive with skopeo, the image-management skills for RHCSA containers.

    dsoxlab start l4-podman-images

    RHCSA Companion guide (French)

  • Guided lab to re-attest 25m · intermediate · virtual machines

    Allow a service with SELinux: persistent boolean and labeled port

    Turn on an SELinux boolean persistently and label a non-standard port so a service is allowed under enforcing SELinux, proven by getsebool and semanage port.

    dsoxlab start l4-selinux-boolean-port

    RHCSA Companion guide (French)

  • Guided lab to re-attest 25m · intermediate · virtual machines

    Fix a file's SELinux context, persistently

    Give a custom web directory the httpd_sys_content_t type with semanage fcontext + restorecon so it survives a relabel/reboot, proven by ls -Z and the fcontext rule.

    dsoxlab start l4-selinux-context-fix

    RHCSA Companion guide (French)

  • Guided lab to re-attest 30m · advanced · virtual machines

    Diagnose an SELinux denial (AVC) and fix it the right way

    A web file has the wrong SELinux label so httpd is denied (403). Read the AVC in the audit log and restore the context, without disabling SELinux. Proven by the live context and a 200 response.

    dsoxlab start l4-selinux-diagnose-avc

    RHCSA Companion guide (French)

  • Guided lab to re-attest 35m · advanced · virtual machines

    Set up persistent NAT port forwarding with nftables

    Enable IP forwarding and add an nftables nat table (DNAT port forward + masquerade) that survives reboot, proven by the live ruleset, sysctl and persistence files.

    dsoxlab start l4-nat-portforward

    RHCSA Companion guide (French)

  • Guided lab to re-attest 40m · advanced · virtual machines

    Authenticate Linux against an LDAP directory with SSSD

    Configure SSSD on the client so a directory user (alice) resolves and can log in, against a 389 Directory Server, proven by getent, id and the active authselect profile.

    dsoxlab start l4-ldap-integration

    RHCSA Companion guide (French)

  • Guided lab to re-attest 30m · advanced · virtual machines

    Load-balance a web backend with HAProxy

    Configure HAProxy on the front host to reverse-proxy and load-balance to a backend web server, persistently, proven by a request through the proxy returning the backend's page.

    dsoxlab start l4-reverse-proxy-lb

    LFCS Companion guide (French)

  • Guided lab to re-attest 30m · advanced · virtual machines

    Aggregate links: an active-backup bond under a bridge with nmcli

    Build an active-backup bond over two slave interfaces and put a bridge on top, persistently with NetworkManager, proven by the bonding state and the bridge port.

    dsoxlab start l4-bridge-bonding

    LFCS Companion guide

eBPF: trace and harden (going further)

3
  • Guided lab 25m · intermediate · virtual machines

    Unmask a mystery process with eBPF tracing tools

    A hidden process writes to a hidden file every few seconds. Install the BCC (or bpftrace) tracing tools, observe the kernel's openat and execve calls, then name the program and the file, proven by comparing your answer with the host's ground truth.

    dsoxlab start ebpf-tracer-bcc

    Companion guide (French)

  • Guided lab 25m · intermediate · virtual machines

    Harden eBPF with sysctl: block unprivileged users and make it stick across reboots

    An audit found eBPF wide open: unprivileged users may call bpf() and the JIT compiler is not hardened. Set kernel.unprivileged_bpf_disabled and net.core.bpf_jit_harden to 2, make both survive a reload of the sysctl configuration despite a forgotten debug file, and prove with a real bpf() call as an unprivileged user that the kernel now refuses.

    dsoxlab start ebpf-durcir-sysctl

    Companion guide (French)

  • Guided lab 25m · intermediate · virtual machines

    Inventory the loaded eBPF programs with bpftool and stop the service that carries one

    A service with a harmless name loads an eBPF program into the kernel. List the programs with bpftool, find which process and which systemd service carry the unknown one, name its type, then stop the service and keep it from coming back, without touching the programs systemd loads.

    dsoxlab start ebpf-inventaire-bpftool

    Companion guide (French)

Debian and Ubuntu variants

6
  • Guided lab to re-attest 20m · intermediate · virtual machines

    Manage Debian packages with apt and dpkg

    Install a package with apt, pin it with a hold so updates skip it, and identify which package owns a file, the Debian package-management skills for LFCS.

    dsoxlab start lfcs-package-apt

    LFCS Companion guide (French)

  • Guided lab to re-attest 20m · intermediate · virtual machines

    Open a service through the firewall with ufw

    Allow the http service and enable ufw so it filters at boot, without ever locking out SSH, the Debian firewall counterpart to firewalld, proven by ufw status.

    dsoxlab start lfcs-firewall-ufw

    LFCS Companion guide (French)

  • Guided lab to re-attest 20m · intermediate · virtual machines

    Manage an AppArmor profile: switch it to complain mode

    Put a loaded AppArmor profile into complain (learning) mode with aa-complain and prove it with aa-status, the Debian mandatory-access-control counterpart to SELinux.

    dsoxlab start lfcs-apparmor

    LFCS Companion guide (French)

  • Guided lab to re-attest 25m · intermediate · virtual machines

    Configure a static IP and route with netplan

    Declare a static IPv4 address and a static route in a netplan file and apply it on a dedicated interface, the Debian/Ubuntu network configuration, proven by the live address and route.

    dsoxlab start lfcs-netplan-static

    LFCS Companion guide

  • Guided lab to re-attest 30m · intermediate · virtual machines

    Enable XFS user quotas and enforce a limit

    Format a dedicated disk as XFS, mount it with user quotas enabled persistently, and enforce a block quota on a user, proven by the live quota state and the enforced limit.

    dsoxlab start lfcs-storage-quotas

    LFCS Companion guide (French)

  • Guided lab to re-attest 30m · intermediate · virtual machines

    Mount an SMB/CIFS share persistently and safely

    A second host serves an SMB share. Mount it on the client, make it persistent in /etc/fstab with _netdev, and keep the password out of the world-readable fstab by using a 0600 credentials file.

    dsoxlab start lfcs-mount-cifs

    LFCS Companion guide (French)

Exam-condition drills

9
  • Challenge to re-attest pass 70% 20m · intermediate · virtual machines

    Drill, essential commands under exam conditions

    5 tasks, 100 points, 20 minutes, no hints: find by size, build a frequency report, links, ownership and permissions, and split stdout from stderr. Playable on RHEL or Debian, the skills are identical.

    dsoxlab start drill-essential-commands

    RHCSALFCS Companion guide (French)

  • Challenge to re-attest pass 70% 20m · intermediate · virtual machines

    Drill, users, groups and delegation under exam conditions

    5 tasks, 100 points, 20 minutes, no hints: create an account to exact specs, enforce password aging, build a collaborative directory, delegate sudo narrowly, and lock a departing account. Playable on RHEL or Debian, user management is identical.

    dsoxlab start drill-users-groups

    RHCSALFCS Companion guide (French)

  • Challenge to re-attest pass 70% 25m · intermediate · virtual machines

    Drill, systemd units, timers and scheduling under exam conditions

    5 tasks, 100 points, 25 minutes, no hints: write a service unit with a restart policy, schedule a weekly timer, add a cron job, fix the default boot target, and mask a service for good. Playable on RHEL or Debian, systemd is systemd.

    dsoxlab start drill-systemd

    RHCSALFCS Companion guide

  • Challenge to re-attest pass 70% 25m · advanced · virtual machines

    Drill, partitions, LVM and swap under exam conditions

    5 tasks, 100 points, 25 minutes, no hints: partition a disk in GPT, build an LVM stack, mount by UUID persistently, add swap, and extend a logical volume online. Playable on RHEL or Debian, parted, LVM and XFS are identical.

    dsoxlab start drill-storage

    RHCSALFCS Companion guide (French)

  • Challenge to re-attest pass 70% 20m · intermediate · virtual machines

    Drill, package management under exam conditions

    5 tasks, 100 points, 20 minutes, no hints: install a package, freeze it against upgrades, find which package owns a file, list what a package installed, and remove one. The objective is shared by RHCSA and LFCS, only the tool changes (dnf or apt), and you use your distribution's.

    dsoxlab start drill-packages

    RHCSALFCS Companion guide (French)

  • Challenge to re-attest pass 70% 20m · intermediate · virtual machines

    Drill, firewall under exam conditions

    5 tasks, 100 points, 20 minutes, no hints: bring the firewall up, open two ports so they survive a reload, keep SSH alive, and explicitly reject a port. The objective is shared by RHCSA and LFCS, only the tool changes (firewalld or ufw).

    dsoxlab start drill-firewall

    RHCSALFCS Companion guide (French)

  • Challenge to re-attest pass 70% 20m · advanced · virtual machines

    Drill, SELinux under exam conditions

    4 tasks, 100 points, 20 minutes, no hints: put SELinux back in enforcing for good, fix a file context so it survives a relabel, flip a boolean persistently, and label a non-standard port. RHCSA only, Debian uses AppArmor, see drill-apparmor.

    dsoxlab start drill-selinux

    RHCSA Companion guide (French)

  • Challenge to re-attest pass 70% 15m · intermediate · virtual machines

    Drill, AppArmor under exam conditions

    4 tasks, 100 points, 15 minutes, no hints: confirm AppArmor is up, put one profile in complain, and bring two others back to enforce. LFCS only, RHEL uses SELinux, see drill-selinux.

    dsoxlab start drill-apparmor

    LFCS Companion guide (French)

  • Challenge to re-attest pass 70% 20m · advanced · virtual machines

    Drill, static networking under exam conditions

    4 tasks, 100 points, 20 minutes, no hints: a static address, a static route and an MTU on a dedicated interface, plus local name resolution. The objective is shared by RHCSA and LFCS, only the tool changes (nmcli or netplan).

    dsoxlab start drill-network

    RHCSALFCS Companion guide

Capstones

4
  • Mock exam to re-attest pass 80% 90m · advanced · virtual machines

    Put a server into production: one mission, nine deliverables, one reboot

    A fresh VM, a delivered application, and one mission: put it into service. Storage on LVM, service account, application on port 8080, SELinux port label and context, permanent firewall rule, persistent journal, hardened SSH, scheduled backup. Nothing is scored on the commands typed: every test reads observable state, and the last one reboots the machine and checks again. What does not survive the reboot scores zero.

    dsoxlab start capstone-mise-en-production

    RHCSALFCS Companion guide (French)

  • Mock exam to re-attest pass 80% 45m · advanced · virtual machines

    Broken server: the site is down, the symptom tells you nothing

    A working internal site stops answering. The setup injects ONE fault among six, drawn at random, and never says which: stopped service, wrong port, closed firewall, SELinux context, docroot permissions, listening on loopback only. You diagnose, you repair, and the repair must survive a reboot. Scored purely on observable state, with three checks that reject the sledgehammer fixes: SELinux must stay enforcing, firewalld must stay running, and the docroot must not become world-writable.

    dsoxlab start capstone-serveur-casse

    RHCSA Companion guide (French)

  • Mock exam to re-attest pass 70% 180m · advanced · virtual machines

    RHCSA EX200 mock exam, 20 tasks across 2 VMs

    Performance-based RHCSA mock exam covering 10 RHCSA domains: storage (LVM, swap, NFS client), shell scripting, networking (static IP, firewalld), users/groups, ACLs, services (systemd units, timers, time client), SELinux (modes, contexts, booleans, port labels), software (DNF, Flatpak), boot recovery (rd.break root reset). 20 tasks scored on 100 points across 2 VMs (server + client). 70/100 to pass. No hints.

    dsoxlab start rhcsa-mock-exam

    RHCSA Companion guide (French)

  • Mock exam to re-attest pass 70% 120m · advanced · virtual machines

    LFCS mock exam, 17 tasks on Ubuntu 24.04

    Performance-based LFCS mock exam mapped task by task onto the published objectives of the 5 official domains: Essential Commands (20%: Git, service troubleshooting, disk space, SSL), Operations Deployment (25%), Users and Groups (10%: accounts and ACLs), Networking (25%), Storage (20%: LVM, automount, swap). 17 tasks scored on 100 points on a single Ubuntu VM. 70/100 to pass. No hints.

    dsoxlab start lfcs-mock-exam

    LFCS Companion guide (French)

Is this project useful to you?

The guides, courses, quizzes and labs stay free. If you use them regularly, you can contribute to their upkeep and development.

Become a supporting member (new tab) One-time support (new tab) Learn more

Follow the project on LinkedIn