Skip to content

CertificationsCompTIA Linux+ XK0-006Labs

CompTIA Linux+ XK0-006 hands-on labs

Linux hosts at a real bash prompt: permissions, ownership, service state, groups and the shell work around them.

90 labs you run in the browser: 31 guided, 52 assisted, 5 challenge, 2 capstone. About 17 hours of authored lab time. 2 open to any signed-in account without a lab grant, and 1 with no account at all.

90

labs

31

guided

steps in order

7

goal only

challenge and capstone

2

free tasters

signed-in, no grant

What you practise

Exam facts and study plan
least privilege 18service state 9file permissions 8ownership 8mode bits 7supplementary groups 7shell operations 5local accounts 4output redirection 4redirection 4sudo policy 4SSH hardening 3
  • Linux bash console· you type90 labs

Every lab in this set

Title, scenario summary, skills and tool. The steps and the write-up stay in the app.

90 labs
  • Create the read only scanner account

    Free taster

    Guided · Quick · 3 min · Linux bash console

    The configuration scanner has been running as a named engineer who left last month. It gets its own account today, with membership in the scanner group and nothing else…

    useraddservice accountssupplementary groupsleast privilege

  • Write the deploy state note for the next shift

    Pro

    Guided · Quick · 3 min · Linux bash console

    The change window closed with release 14.2 applied, and the handover note is still empty. The next shift reads one file before it touches anything: /srv/app/deploy-state.txt…

    redirectionshell operationsfile contentverification

  • Add a backup operator to the tape robot group

    Pro

    Guided · Quick · 4 min · Linux bash console

    Dani joined the backup rota this week and cannot reach the tape robot, because the account is only in the ops group. Mei already uses the robot and her membership works…

    group membershipusermodappend flagleast privilege

  • Add the standby resolver before the failover test

    Pro

    Guided · Quick · 4 min · Linux bash console

    Thursday's failover test pulls the primary resolver offline for ten minutes. The host at /etc/resolv.conf still names only the primary, 10.60.0.10…

    DNS resolutionresolver configurationfailovername resolution order

  • Add two lines to the shift log without losing the first

    Pro

    Guided · Quick · 4 min · Linux bash console

    The migration night runs on a shared shift log at /srv/ops/shift.log, and the morning team reads it from the top. It already holds the line the evening shift wrote…

    output redirectionlog appendhandover recordshell operations

  • Lock down an SSH private key

    Pro

    Guided · Quick · 4 min · Linux bash console

    The on-call analyst copied a private key to a shared host. It works, but every other account on the box can read it. Tighten the file before the next jump.

    file permissionschmodleast privilege

  • Prepare a mount point for the scratch volume

    Pro

    Guided · Quick · 4 min · Linux bash console

    A 200 GB scratch volume arrives for the report rebuild on Friday. The mount point has to exist before the array is attached, and the build only runs under the ops group…

    mount pointdirectory permissionsmkdirstorage layout

  • Put the backup server back in the hosts file

    Pro

    Guided · Quick · 4 min · Linux bash console

    The nightly backup job looks up the vault by name and has failed since the vault moved to the new rack. The name is not in DNS yet, so /etc/hosts has to carry the address for a few weeks…

    hosts filename resolutionredirectionappend

  • Bring the backup sudo rule back to a safe mode

    Pro

    Guided · Quick · 5 min · Linux bash console

    A configuration tool wrote the backup window rule into /etc/sudoers.d and left it group writable and owned by the deployment account…

    sudoers hardeningfile modeownershipleast privilege

  • Give the payment callback script to its service account

    Pro

    Guided · Quick · 5 min · Linux bash console

    The script that confirms customer payments runs under the svcpay account. A vendor installer left it owned by root with mode 666…

    file permissionsownershipchmodchown

  • Keep a locked copy of the backup sudo rule

    Pro

    Guided · Quick · 5 min · Linux bash console

    Tomorrow the backup window moves from 01:00 to 02:00, which means editing the sudo rule in /etc/sudoers.d/backup-window…

    backup copysudoers drop-infile permissionschange record

  • Make the gateway log readable by auditors only

    Pro

    Guided · Quick · 5 min · Linux bash console

    The gateway writes its access log to /var/log/gateway/access.log. A vendor installer left the file wide open during commissioning and nobody tightened it afterwards…

    file permissionsmode bitsleast privilegelog integrity

  • Tighten the SSH directory before the key is rejected

    Pro

    Guided · Quick · 5 min · Linux bash console

    Deployments to the build host started failing with a permission denied message that says nothing about the cause. The account has the right key in the right file…

    sshdkey permissionsSSH hardeningleast privilege

  • Make the report volume come back after a reboot

    Pro

    Guided · Quick · 6 min · Linux bash console

    The report rebuild volume is attached and mounted by hand every morning, because nobody wrote it into the mount table. The provisioning tool already created /mnt/report…

    fstabmount optionsfilesystempersistent mount

  • Turn off password logins on the jump host

    Pro

    Guided · Quick · 6 min · Linux bash console

    The external assessment closed with two findings on the jump host: password logins are still accepted, and root may log in directly. The team already uses keys and has no plan to stop…

    SSH hardeningsshd configurationconfiguration drop-inkey based authentication

  • Write the pre-flight script the night team keeps asking for

    Pro

    Guided · Quick · 6 min · Linux bash console

    Restarts keep going out before anyone checks whether the inventory API is already answering, and two short outages last month came from exactly that…

    shell scriptingshebangredirectionexecutable bit

  • Add a faillock guard to the local su stack

    Pro

    Guided · Quick · 7 min · Linux bash console

    A hardening review found that operators can switch accounts with `su` without the local service recording or limiting repeated password failures…

    PAMfaillocklocal authenticationaccount security

  • Repair the backup operator rule with visudo

    Pro

    Guided · Quick · 7 min · Linux bash console

    A deployment change left the backup operator's sudoers drop-in with an invalid command token. Repair it with visudo, retain the existing narrow tar and rsync access…

    sudo policyvisudoleast privilege

  • Apply the SSH hardening change safely

    Pro

    Guided · Quick · 8 min · Linux bash console

    A scheduled access review found that the maintenance host still accepts password authentication and permits direct root login. The change is approved for this maintenance window…

    sshd_configauthentication policyconfiguration validation

  • Schedule and recover the nightly archive

    Pro

    Guided · Quick · 8 min · Linux bash console

    The overnight archive runs twice: an old user crontab entry and a systemd timer both schedule the same job. Operations wants the service to run once at 02:30…

    user crontabsystemd timerpersistent calendar timer

  • Set the approved kernel for the next maintenance boot

    Pro

    Guided · Quick · 8 min · Linux bash console

    A kernel update is under review after a storage driver alert. The change window is approved, but the server must keep its currently running kernel until the operator schedules a reboot…

    GRUB configurationKernel entriesSaved boot entry

  • Ship a repeatable backup script for the application config

    Pro

    Guided · Quick · 8 min · Linux bash console

    The application team has been copying its production configuration by hand before a maintenance window. Put that routine in one executable Bash script under /usr/local/sbin…

    Bash scriptsstrict modefile backupsexecutable permissions

  • Publish the support portal from a read-only mount

    Pro

    Guided · Quick · 9 min · Linux bash console

    Support cannot verify the invoice portal after a host refresh. The approved static site is already in `/srv/portal`, and the Podman registry fixture is available…

    Container imagesPort publishingBind mountsRead-only mounts

  • Commit the invoice rollback runbook

    Pro

    Guided · Quick · 10 min · Linux bash console

    The invoice platform team approved a rollback runbook after a noisy release window. Save the procedure in `/srv/ledger`, create the release branch…

    Git repositoriesstagingbranchescommits

  • Confirm the web fleet is ready for a change window

    Pro

    Guided · Quick · 10 min · Linux bash console

    The release coordinator wants a quick readiness check before a web-tier maintenance window. The controller has an inventory for the web group and the managed node is online…

    Ansible ad-hoc commandsinventory groupsSSH transportprivilege escalation

  • Find which address is guessing passwords

    Open without an account

    Guided · Quick · 12 min · Linux bash console

    Security says someone is guessing passwords on web-01. Find the address with the most failed attempts and put it in ~/offender.txt so the network team can block it…

    authentication logsfailed SSH loginstext pipelinesshell operations

  • Track host identity file changes with auditd

    Pro

    Guided · Quick · 12 min · Linux bash console

    Ticket SEC-4412: The audit team needs evidence whenever the host identity file changes. Save a persistent rule for /etc/hostname, install the watch in the active ruleset…

    auditdpersistent audit rulesfile watchausearch

  • Restore the moved web file's SELinux label

    Pro

    Guided · Quick · 14 min · Linux bash console

    Ticket SEC-441: A content file was moved into the intranet document root, preserving its home-directory SELinux type. nginx cannot read it while SELinux is enforcing…

    SELinuxfile contextsrestoreconservice access

  • Keep the invoice API responsive during the nightly export

    Pro

    Guided · In-depth · 24 min · Linux bash console

    INC-4821: the finance team reports that invoice lookups take six seconds during the 02:00 export window. The API is still serving requests…

    CPU saturationprocess scheduling prioritybaseline comparisonincident handoff

  • Onboard a contractor on the ticket intake host

    Pro

    Guided · In-depth · 30 min · Linux bash console

    A support contractor starts on Monday on the ticket intake host relay-04. She needs an account in the intake group, a drop directory where escalations land…

    local accountssupplementary group membershipmode bitsownership

  • Close the permission drift report on the reporting host

    Pro

    Guided · In-depth · 33 min · Linux bash console

    The 06:00 drift report names four findings on the reporting host. The intake directory accepts files from any account on the box…

    mode bitsownershippermission driftexecute bit

  • Clear the staging tree left by the cancelled migration

    Pro

    Assisted · Quick · 4 min · Linux bash console

    A migration that was cancelled in March left /srv/staging/old-import behind, with two part files nobody needs. The intake job writes into /srv/staging and has to keep working…

    shell operationsdirectory removalrecursive deleteverification

  • Remove the world writable script from the intake directory

    Pro

    Assisted · Quick · 4 min · Linux bash console

    The weekly host scan lists one finding: a script in /srv/incoming that every account on the box can edit. The deployment tool drops files there, so the directory has to stay writable…

    permission faultsattack surfaceworld writable filesrm

  • Clear the intake folder before the switchover

    Pro

    Assisted · Quick · 5 min · Linux bash console

    The scanner intake folder at /srv/intake is handed to the new supplier on Monday. Two part files from last week's batch still have to reach the archive folder for the retention record…

    file operationsnavigationdirectory creationcleanup

  • Close out a dormant vendor account

    Pro

    Assisted · Quick · 5 min · Linux bash console

    The vendor contract ended on Friday. Their account still carries the vpn and contractors groups, and the account is open. The only remaining need is the read-only file transfer group…

    account locksupplementary groupsusermodoffboarding

  • Record tonight's baseline before the patching window

    Pro

    Assisted · Quick · 5 min · Linux bash console

    Patching starts at 02:00 and the host will reboot twice. Before then the team wants one line on file that says which web unit was listening and on which port…

    monitoring baselineprocesses and listenersredirectionhandover

  • Roll the proxy config back to last night's copy

    Pro

    Assisted · Quick · 5 min · Linux bash console

    An engineer edited nginx.conf during the outage and made it worse: the live file now runs one worker and includes nothing…

    restore from backupconfiguration rollbackfile verification

  • Copy the nightly archive for a restore drill

    Pro

    Assisted · Quick · 6 min · Linux bash console

    The quarterly restore drill starts in an hour. The nightly order archive is staged in /srv/backup/nightly, and the drill runs from /srv/restore so the original stays untouched…

    restore drillarchive copyfile permissionsbackup verification

  • Hand the on-call pager to the next engineer

    Pro

    Assisted · Quick · 6 min · Linux bash console

    The pager moves to Noor on Monday. Priya has held it for two quarters, and the audit record needs her account, her group membership and her files to stay where they are…

    local accountsgroup membershipaccount lockingon-call handover

  • Hand the sample folder to the scanner account

    Pro

    Assisted · Quick · 6 min · Linux bash console

    Suspect attachments land in /srv/quarantine, and the scanning service reads them as svc_scan. The folder was created during a trial run with the widest possible mode…

    file permissionsownershipworld writable directoryquarantine

  • Restore the invoice template and give it back to the app

    Pro

    Assisted · Quick · 6 min · Linux bash console

    Someone cleared the templates directory during a cleanup and invoice.html went with it. The billing service runs as svcapp, reads the template at /srv/app/templates/invoice.html…

    restore from backupownership after a copyfile permissionsservice account

  • Sort out the units that did not survive the reboot

    Pro

    Assisted · Quick · 6 min · Linux bash console

    Tuesday's reboot left the ingest host half working. The web front came back on its own. The metrics shipper is set to start at boot but is not running, so the capacity charts have a hole…

    systemd unitsservice enablementprocess inspectionlistening sockets

  • Repair the backup job that fails before the maintenance window

    Pro

    Assisted · Quick · 7 min · Linux bash console

    The 02:00 backup job stopped after a deployment moved the destination to a new path. Its script uses strict mode, so cp exits immediately when the destination directory is missing…

    Bash debuggingset -edirectory creationscript output

  • Retire the legacy file sync service

    Pro

    Assisted · Quick · 7 min · Linux bash console

    A file sync daemon called sync-legacy is still running on the staging host. The team that used it moved to a managed service last quarter and nobody turned the old listener off…

    systemd servicesservice statelistening portsattack surface

  • Add a route to the backup network

    Pro

    Assisted · Quick · 10 min · Linux bash console

    Tonight's restore test needs web-01 to reach the backup network 10.30.0.0/16 through the new gateway 10.20.4.254. Traffic is going out the default gateway today…

    routing tablenext hopruntime routes

  • Give a new admin sudo through the wheel group

    Pro

    Assisted · Quick · 10 min · Linux bash console

    Ana joins the platform team today and needs sudo on web-01. The host already grants sudo through the wheel group, so add her the same way everyone else is added…

    group membershipsudo policyleast privilege

  • Lock a dormant vendor account without deleting it

    Pro

    Assisted · Quick · 10 min · Linux bash console

    vendor_ruiz is a contractor whose engagement ended five months ago. Legal may need the files in the home directory, so the account must stay but nobody may use it…

    account lockoutlogin shelldata retention

  • Switch the application to its new release

    Pro

    Assisted · Quick · 10 min · Linux bash console

    The web-01 deployment is still serving release 2.3.1. Release 2.4.0 has passed checks, and the old release must remain available for rollback…

    symbolic linksrelease rollbackpath inspection

  • Archive the app before patching and checksum it

    Pro

    Assisted · Quick · 12 min · Linux bash console

    A patch window is scheduled for tonight. Create a compressed backup of /srv/app at /backup/app-pre-patch.tgz, inspect its member list…

    gzip archivesarchive inventorySHA-256 verification

  • Bring back the agent that lost its state file

    Pro

    Assisted · Quick · 12 min · Linux bash console

    The weekly disk cleanup job walked one directory too far and removed /var/lib/metrics-agent, which held the collector's state file…

    failed unitsjournal evidencerestore from backupservice enablement

  • Change one setting in the real editor

    Pro

    Assisted · Quick · 12 min · Linux bash console

    Ticket APP-2277: the application on app-01 is refusing connections under the morning load. The capacity plan says the worker pool should be 80, and the live file still says 50…

    text editorsconfiguration fileschange control

  • Fix an analyst who cannot read the report

    Pro

    Assisted · Quick · 12 min · Linux bash console

    Ana gets "Permission denied" on /data/report. The file is meant to be readable by the devs group, and dev can read it. Fix it without opening the file to everyone…

    group ownershipleast privilegepermission denied

  • Fix the app that cannot resolve db-01

    Pro

    Assisted · Quick · 12 min · Linux bash console

    The billing app on app-01 opens a connection to db-01 and cannot find the name. The database itself answers on 10.20.4.50, and the platform team has confirmed the address…

    name resolutionhosts fileresolv.confnetwork troubleshooting

  • Let auditors read a log with an ACL

    Pro

    Assisted · Quick · 12 min · Linux bash console

    Ticket AUD-118: Jordan is auditing last week's gateway traffic and needs to read /var/log/gateway/access.log on web-01. The audit team reads logs through /usr/local/bin/gateway-log-read.sh…

    access control listsnamed entriesleast privilege

  • Onboard a contractor account

    Pro

    Assisted · Quick · 12 min · Linux bash console

    Priya Nair starts Monday on app-01. Create her account with a home directory and Bash, add her to ops only, set a first password, and make that password expire after 60 days…

    local accountssupplementary groupshome directoriespassword ageing

  • Open HTTPS and keep it after a reload

    Pro

    Assisted · Quick · 12 min · Linux bash console

    Ticket NET-2041: the public site on web-01 is ready for TLS, but inbound HTTPS is not permitted in the active public zone. Clients outside the host get no route to the port…

    firewalld zonesruntime rulespermanent rules

  • Remove a flagged package and install the proxy

    Pro

    Assisted · Quick · 12 min · Linux bash console

    The weekly package scan flagged telnet-server on web-01: a plaintext remote shell that nobody admits to using. The NOC still needs the telnet client for one old switch…

    package inventoryunused servicesdnf removednf install

  • Remove an extra setuid bit

    Pro

    Assisted · Quick · 12 min · Linux bash console

    A quarterly audit found one local backup helper with setuid enabled. It should remain executable for the scheduled backup, but it must run with the caller's permissions…

    setuidspecial permissionsleast privilegefile integrity

  • Retire a legacy service so it stays retired

    Pro

    Assisted · Quick · 12 min · Linux bash console

    legacy-sync was replaced last month, but it is still running and still starts at boot. Stop it, make it impossible to start by accident, and leave inventory-api running exactly as it is.

    service statemasking unitsboot links

  • Set up key login to web-02

    Pro

    Assisted · Quick · 12 min · Linux bash console

    Maya is tired of typing the web-02 password several times a day. Set up a key for her account on web-01, install the public half on web-02, and prove the login works without a password…

    SSH keyspublic key authenticationauthorized_keysStrictModes

  • Download an installer and prove it is genuine

    Pro

    Assisted · Quick · 14 min · Linux bash console

    The vendor shipped endpoint agent 3.2 as a single installer. Get the published checksum first, download from mirror A, and check the bytes before anyone runs it. If the check fails…

    SHA-256 checksumsdownload integritymirror fallback

  • Find what fills the log directory and archive it

    Pro

    Assisted · Quick · 14 min · Linux bash console

    /var/log/inventory has been growing since January and the monitoring alert says the log volume is nearly full. The retention rule is simple: keep the current month…

    disk usagelog retentionarchive creationspace recovery

  • Find what is holding the inventory API port

    Pro

    Assisted · Quick · 14 min · Linux bash console

    inventory-api has been down since this morning's deploy. The unit is enabled and its configuration has not changed, but every start attempt fails before the process stays up…

    listening socketsprocess ownershipservice start failuresjournal evidence

  • Make a shared folder keep its group

    Pro

    Assisted · Quick · 14 min · Linux bash console

    Dana and Eli need a private drop folder for billing exports. Files either creates must inherit the billing group, and other staff must not be able to list or read anything inside…

    setgid directorygroup ownershipsupplementary groupsleast privilege

  • Restore one file from last night's archive

    Pro

    Assisted · Quick · 14 min · Linux bash console

    Dev was testing a new port on web-01 and left a test configuration over /srv/app/config.yml. Put last night's copy back from /backup/app-nightly.tgz…

    archive membersselective extractionrestore verification

  • Run the label printer daemon as a service

    Pro

    Assisted · Quick · 14 min · Linux bash console

    The warehouse label printer daemon lives at /opt/labelsvc/run and starts by hand every morning. Make it a systemd service called labelsvc that is running now and comes back after a reboot…

    systemd unitsenabling at bootdaemon-reload

  • Schedule the nightly cleanup

    Pro

    Assisted · Quick · 14 min · Linux bash console

    Ticket OPS-3204: the cleanup script /opt/tools/clean-tmp.sh has run by hand for a month and the temp area still fills up…

    cron scheduleuser crontabjob verification

  • Turn off password logins on web-02

    Pro

    Assisted · Quick · 14 min · Linux bash console

    Security wants password logins off on web-02: keys only. Maya's key already works. The main sshd_config does not switch passwords on, yet they still work, so something else is setting it…

    sshd_configdrop-in configurationconfiguration precedenceservice reload

  • Update every config that names the retired database

    Pro

    Assisted · Quick · 14 min · Linux bash console

    db-old.corp.example has been retired. Every live configuration under /etc/billing must use db-new.corp.example…

    recursive searchin-place text editingpreserving historical records

  • Allow one command through a sudoers rule

    Pro

    Assisted · Quick · 15 min · Linux bash console

    Ticket OPS-3180: the ops team restarts nginx several times a week and keeps asking a platform admin to do it. Give the ops group sudo for that one restart on app-01…

    sudo policysudoers drop-inleast privilege

  • Extend the reporting volume without downtime

    Pro

    Assisted · Quick · 15 min · Linux bash console

    The report rebuild has stopped because /srv/data is 92% full. Storage has attached a new 20 GiB /dev/sdb. Add 10 GiB to the existing data volume online…

    LVMphysical volumesvolume groupsonline filesystem growth

  • Find why the key login to web-02 is refused

    Pro

    Assisted · Quick · 15 min · Linux bash console

    Maya's key login to web-02 stopped working after Friday's home directory cleanup. Her key pair is intact on web-01 and her public key is still in web-02's authorized_keys…

    SSH keysStrictModesfile modessshd journal evidence

  • Persist the backup route and resolver

    Pro

    Assisted · Quick · 15 min · Linux bash console

    During Thursday's failover test, app-01 must reach backup subnet 10.30.0.0/16 through 10.20.4.254 and use resolver 10.20.0.54 as its second DNS server. Both settings must survive reboot…

    NetworkManagerpersistent routesDNS resolverconnection profiles

  • Recover the host from a broken fstab entry

    Pro

    Assisted · Quick · 15 min · Linux bash console

    web-01 entered emergency mode after a reboot. Its required /mnt/archive mount uses a UUID that no longer exists. The application root is safe…

    emergency modesystemd journalfstabmount recovery

  • Roll out the approved portal configuration with Ansible

    Pro

    Assisted · Quick · 15 min · Linux bash console

    A change ticket includes an approved portal configuration playbook and a Jinja template staged on the automation controller. Apply it to the web group before the release window…

    Ansible playbooksJinja templatesidempotent file managementloops and conditions

  • Baseline a freshly installed app server

    Pro

    Assisted · In-depth · 25 min · Linux bash console

    app-02 just came out of the installer and still answers to the default name. Name it app-02, make it resolve db-01 to 10.20.4.50…

    host identityname resolutionstatic routesservice enablement

  • Prepare web-01 for the patch window

    Pro

    Assisted · In-depth · 28 min · Linux bash console

    The patch window opens at 22:00 on web-01. Before it: archive /srv/app to /backup/app-pre-patch.tgz with a SHA-256 checksum next to it, install chrony (the time package the team agreed on)…

    archive and checksumpackage installationrelease symlinkschange notes

  • Restore the Harborline intranet through four failure layers

    Pro

    Assisted · In-depth · 28 min · Linux bash console

    Staff cannot reach Harborline's intranet after a patch window. The change record says nginx was edited, and the service is down. Repair the host…

    nginx configurationfirewalldSELinuxservice troubleshooting

  • Set up two analysts and their shared workspace

    Pro

    Assisted · In-depth · 28 min · Linux bash console

    Priya Nair (pnair) and Tomas Ruiz (truiz) start Monday on the analytics team at Harborline. Both need accounts with a home directory and Bash, in a new group analysts…

    local accountssupplementary groupssetgid directoriessudo policy

  • Harden the bastion before the audit

    Pro

    Assisted · In-depth · 30 min · Linux bash console

    The auditors walk through jump-01 tomorrow. Before they do: keys only with no root over SSH, the telnet server gone, the setuid bit off the leftover tape helper…

    SSH hardeningroot loginpackage removalsetuid bit

  • Prove a restore for the claims share before the array is wiped

    Pro

    Assisted · In-depth · 30 min · Linux bash console

    The claims department moves to a new array on Monday and the old one is wiped that same night. The nightly copy job has reported success for six months and nobody has restored a single file…

    output redirectionrestore verificationcopy versus moveownership

  • Promote the maintenance page before the window

    Pro

    Assisted · In-depth · 32 min · Linux bash console

    Friday's deploy failed halfway and the support site has served an old maintenance page ever since. The page the team wrote for tonight's window has been sitting in the staging tree since…

    ownership of a copymode bitsservice accountcopy versus overwrite

  • Seal a build host before the audit walkthrough

    Pro

    Assisted · In-depth · 35 min · Linux bash console

    The internal audit team walks build-11 on Thursday. Monday's pre-audit scan came back with four findings: the build cache directory is world writable…

    ownershipmode bitsaccount lockoutsupplementary groups

  • Bring the inventory API back for the morning shift

    Pro

    Challenge · Quick · 4 min · Linux bash console

    The warehouse scanner app talks to inventory-api on port 8443. The unit is installed and the config is in place, but the service is not answering, and a reboot is planned for tonight…

    systemd unitsservice stateboot behavioursystemctl

  • Give the certificate hook a directory it can write to

    Pro

    Challenge · Quick · 5 min · Linux bash console

    The certificate renewal hook runs as svcacme and writes into /etc/acme/renewal. The directory was created for it but left owned by root with mode 755…

    directory permissionsownershipservice accountleast privilege

  • Retire the worker the deploy left behind

    Pro

    Challenge · Quick · 5 min · Linux bash console

    The queue worker was replaced last night and the old unit was never retired. Both processes are running, the new worker holds port 9100, and the old one still holds 9200…

    process tableservice stateretirementboot behaviour

  • Close the listener nobody ordered and leave a note

    Pro

    Challenge · Quick · 6 min · Linux bash console

    The nightly external scan reports an unexpected open port on a handover host. The host answers on 22 for administration and on 9100 for the metrics collector, both expected…

    listening portsnetwork faultsservice statehandover note

  • Give the collector its read access back

    Pro

    Challenge · Quick · 6 min · Linux bash console

    The ingest collector runs as svc_ingest, which sits in the ingest group. It has read the event log at /var/log/ingest/events.log for a year…

    file permissionsgroup ownershipservice accountspermission faults

  • Freeze an analyst account while the host is still live

    Pro

    Capstone · In-depth · 32 min · Linux bash console

    At 02:14 an analyst account on payroll host pay-07 opened a session from an address outside the company range. The same night a sync listener that nobody scheduled appeared on the host…

    output redirectionevidence handlingaccount lockoutsupplementary groups

  • Three services down after the patch weekend

    Pro

    Capstone · In-depth · 38 min · Linux bash console

    After the weekend patching, the inventory page, the report generator and the metrics dashboard are all dark on web-01. nginx is fine. Gather evidence first, then bring all three back…

    service failurejournal evidenceport conflictsunit files

XK0-006 lab questions

There are 90 labs: 31 guided, 52 assisted, 5 challenge, 2 capstone. Together they carry about 17 hours of authored lab time, and 2 free taster labs.

Practise XK0-006 the way the exam asks

Open a guided lab first, then work the challenge set with the hints off. Every lab links back to the lesson it tests.

Start studying free

Free tier, no card. Pro starts with a 7-day trial; a card is required and you can cancel before day 7.