Shells and Shell Scripting
Customize and use the shell environment
Weight: 4
Set environment variables (e.g., PATH) at login or when spawning a new shell.
Write Bash functions for frequently used command sequences.
Maintain skeleton directories for new user accounts.
Set command search path correctly.
Files/Utilities: ., source, /etc/bash.bashrc, /etc/profile, env, export, set, unset, ~/.bash_profile, ~/.bash_login, ~/.profile, ~/.bashrc, ~/.bash_logout, function, alias.
Customize or write simple scripts
Weight: 4
Use standard shell syntax such as loops and tests.
Use command substitution.
Test return values for success or failure.
Execute chained commands.
Perform conditional mailing to superuser.
Select interpreter using shebang (#!).
Manage script location, ownership, execution, and suid rights.
Files/Utilities: for, while, test, if, read, seq, exec, ||, &&.
User Interfaces and Desktops
Install and configure X11
Weight: 2
Understand X11 architecture.
Understand X Window configuration files.
Configure Xorg settings such as keyboard layout.
Understand display managers and window managers.
Manage X server access and remote display applications.
Awareness of Wayland.
Files/Utilities: /etc/X11/xorg.conf, /etc/X11/xorg.conf.d/, ~/.xsession-errors, xhost, xauth, DISPLAY, X.
Graphical Desktops
Weight: 1
Awareness of major Linux desktop environments.
Awareness of remote desktop protocols.
Files/Utilities: KDE, Gnome, Xfce, X11, XDMCP, VNC, Spice, RDP.
Accessibility
Weight: 1
Understand visual settings and themes.
Understand assistive technologies.
Examples: High Contrast themes, Screen Reader, Braille Display, Screen Magnifier, On-Screen Keyboard, Sticky/Repeat keys, Mouse keys, Gestures, Voice recognition.
Administrative Tasks
Manage user and group accounts and related system files
Weight: 5
Add, modify, and remove users and groups.
Manage user/group information in password and group databases.
Create and manage special-purpose and limited accounts.
Files/Utilities: /etc/passwd, /etc/shadow, /etc/group, /etc/skel/, chage, getent, groupadd, groupdel, groupmod, passwd, useradd, userdel, usermod.
Automate system administration tasks by scheduling jobs
Weight: 4
Manage cron and at jobs.
Configure user access to cron and at.
Understand systemd timer units.
Files/Utilities: /etc/cron.{d,daily,hourly,monthly,weekly}/, /etc/at.deny, /etc/at.allow, /etc/crontab, /etc/cron.allow, /etc/cron.deny, /var/spool/cron/, crontab, at, atq, atrm, systemctl, systemd-run.
Localisation and internationalisation
Weight: 3
Configure locale settings and environment variables.
Configure timezone settings and environment variables.
Files/Utilities: /etc/timezone, /etc/localtime, /usr/share/zoneinfo/, LC_*, LC_ALL, LANG, TZ, locale, tzselect, timedatectl, date, iconv, UTF-8, ISO-8859, ASCII, Unicode.
Essential System Services
Maintain system time
Weight: 3
Set system date and time.
Set hardware clock in UTC.
Configure correct timezone.
Configure NTP using ntpd or chrony.
Use pool.ntp.org.
Awareness of ntpq.
Files/Utilities: /usr/share/zoneinfo/, /etc/timezone, /etc/localtime, /etc/ntp.conf, /etc/chrony.conf, date, hwclock, timedatectl, ntpd, ntpdate, chronyc, pool.ntp.org.
System logging
Weight: 4
Configure rsyslog.
Understand facilities, priorities, and actions.
Query and filter systemd journal.
Configure persistent journal storage and size.
Delete old journal data.
Retrieve journal data from rescue systems.
Understand rsyslog and systemd-journald interaction.
Configure logrotate.
Awareness of syslog and syslog-ng.
Files/Utilities: /etc/rsyslog.conf, /var/log/, logger, logrotate, /etc/logrotate.conf, /etc/logrotate.d/, journalctl, systemd-cat, /etc/systemd/journald.conf, /var/log/journal/.
Mail Transfer Agent (MTA) basics
Weight: 3
Create e-mail aliases.
Configure e-mail forwarding.
Understand common MTA programs such as postfix, sendmail, and exim.
Files/Utilities: ~/.forward, sendmail emulation layer commands, newaliases, mail, mailq, postfix, sendmail, exim.
Manage printers and printing
Weight: 2
Configure CUPS for local and remote printers.
Manage user print queues.
Troubleshoot printing problems.
Add and remove print jobs.
Files/Utilities: CUPS configuration files, /etc/cups/, lpd interface (lpr, lprm, lpq).
Networking Fundamentals
Fundamentals of internet protocols
Weight: 4
Understand network masks and CIDR notation.
Understand public vs private IP addresses.
Know common TCP and UDP ports and services.
Understand UDP, TCP, and ICMP.
Understand IPv4 vs IPv6 differences.
Understand IPv6 basics.
Files/Utilities: /etc/services, IPv4, IPv6, Subnetting, TCP, UDP, ICMP.
Persistent network configuration
Weight: 4
Understand TCP/IP host configuration.
Configure ethernet and Wi-Fi using NetworkManager.
Awareness of systemd-networkd.
Files/Utilities: /etc/hostname, /etc/hosts, /etc/nsswitch.conf, /etc/resolv.conf, nmcli, hostnamectl, ifup, ifdown.
Basic network troubleshooting
Weight: 4
Configure network interfaces manually using iproute2.
Configure routing and default routes using iproute2.
Debug network configuration problems.
Awareness of legacy net-tools commands.
Files/Utilities: ip, hostname, ss, ping, ping6, traceroute, traceroute6, tracepath, tracepath6, netcat, ifconfig, netstat, route.
Configure client side DNS
Weight: 2
Query remote DNS servers.
Configure local and remote DNS resolution.
Modify name resolution order.
Debug DNS-related issues.
Awareness of systemd-resolved.
Files/Utilities: /etc/hosts, /etc/resolv.conf, /etc/nsswitch.conf, host, dig, getent.
Security
Perform security administration tasks
Weight: 3
Audit systems for suid/sgid files.
Set passwords and password aging policies.
Use nmap and netstat to identify open ports.
Set limits for user logins, processes, and memory usage.
Check current and past logged-in users.
Configure and use sudo.
Files/Utilities: find, passwd, fuser, lsof, nmap, chage, netstat, sudo, /etc/sudoers, su, usermod, ulimit, who, w, last.
Setup host security
Weight: 3
Understand shadow passwords.
Disable unused network services.
Understand TCP wrappers.
Files/Utilities: /etc/nologin, /etc/passwd, /etc/shadow, /etc/xinetd.d/, /etc/xinetd.conf, systemd.socket, /etc/inittab, /etc/init.d/, /etc/hosts.allow, /etc/hosts.deny.
Securing data with encryption
Weight: 4
Perform OpenSSH client configuration and usage.
Understand OpenSSH host keys.
Configure and use GnuPG.
Encrypt, decrypt, sign, and verify files with GPG.
Understand SSH tunnels including X11 tunnels.
Files/Utilities: ssh, ssh-keygen, ssh-agent, ssh-add, ~/.ssh/id_rsa, ~/.ssh/id_rsa.pub, ~/.ssh/id_dsa, ~/.ssh/id_dsa.pub, ~/.ssh/id_ecdsa, ~/.ssh/id_ecdsa.pub, ~/.ssh/id_ed25519, ~/.ssh/id_ed25519.pub, /etc/ssh/ssh_host_rsa_key, /etc/ssh/ssh_host_rsa_key.pub, /etc/ssh/ssh_host_dsa_key, /etc/ssh/ssh_host_dsa_key.pub, /etc/ssh/ssh_host_ecdsa_key, /etc/ssh/ssh_host_ecdsa_key.pub, /etc/ssh/ssh_host_ed25519_key, /etc/ssh/ssh_host_ed25519_key.pub, ~/.ssh/authorized_keys, ssh_known_hosts, gpg, gpg-agent, ~/.gnupg/.