Difference between revisions of "LPIC-2 Objectives V4"
GMatthewRice (Talk | contribs) |
GMatthewRice (Talk | contribs) |
||
Line 1: | Line 1: | ||
− | + | __FORCETOC__ | |
+ | ==Introduction== | ||
+ | |||
+ | This is a required exam for LPI certification Level 2. It covers advanced skills for the Linux professional that are common across all distributions of Linux. | ||
+ | |||
+ | We are attempting to create a [[LPIC-2_BoK|Body of Knowledge]] for these objectives. | ||
+ | <br /><br /> | ||
+ | |||
+ | ==Version Information== | ||
+ | |||
+ | These objectives are version 4.0.0rc1. Weightings are estimates and will be finalised shortly. | ||
+ | |||
+ | This is also a [[LPIC2AndLPI300SummaryVersion3To4|summary and detailed information]] on the changes from version 3.5.x to 4.0.0 of the objectives. | ||
+ | <br /><br /> | ||
+ | |||
+ | ==Addenda== | ||
+ | |||
+ | ===''Version Update Addendum (Apr 1st, 2013)''=== | ||
+ | |||
+ | * updated to version 4.0.0rc1 | ||
+ | |||
+ | <br /><br /> | ||
+ | |||
+ | ==Translations of Objectives== | ||
+ | |||
+ | The following translations of the objectives are available on this wiki: | ||
+ | |||
+ | * [[LPIC-2_Objectives|English]] | ||
+ | |||
+ | * [[LPIC-2_Objectives(ES)|Spanish]] | ||
+ | |||
+ | * [[LPIC-2_Objectives(RU)|Russian]] | ||
+ | |||
+ | * [[LPIC-2_Objectives(Greek)|Greek]] | ||
+ | |||
+ | * [[LPIC-2_Objectives(Turkish)|Turkish]] | ||
+ | |||
+ | * [[LPIC-2_Objectives(FR)|French]] | ||
+ | |||
+ | <br /> | ||
+ | |||
+ | ==Objectives: Exam 201== | ||
+ | |||
+ | ===''Topic 201: Linux Kernel''=== | ||
+ | |||
+ | ====<span style="color:navy">201.1 Kernel Components</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 2 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | Candidates should be able to utilise kernel components that are necessary to specific hardware, hardware drivers, system resources and requirements. This objective includes implementing different types of kernel images, identifying stable and development kernels and patches, as well as using kernel modules. | ||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * Kernel 2.6.x documentation | ||
+ | |||
+ | * Kernel 3.x documentation | ||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * /usr/src/linux | ||
+ | |||
+ | * /usr/src/linux/Documentation | ||
+ | |||
+ | * zImage | ||
+ | |||
+ | * bzImage | ||
+ | |||
+ | <br /> | ||
+ | |||
+ | ====<span style="color:navy">201.2 Compiling a kernel</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 2 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | Candidates should be able to properly configure a kernel to include or disable specific features of the Linux kernel as necessary. This objective includes compiling and recompiling the Linux kernel as needed, updating and noting changes in a new kernel, creating an initrd image and installing new kernels. | ||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * /usr/src/linux/ | ||
+ | |||
+ | * GRUB configuration files | ||
+ | |||
+ | * Kernel 2.6.x make targets | ||
+ | |||
+ | * Kernel 3.x make targets | ||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * mkinitrd | ||
+ | |||
+ | * mkinitramfs | ||
+ | |||
+ | * make | ||
+ | |||
+ | * make targets (config, xconfig, menuconfig, oldconfig, mrproper, zImage, bzImage, modules, modules_install) | ||
+ | |||
+ | <br /> | ||
+ | |||
+ | ====<span style="color:navy">201.3 Patching a kernel</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 1 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | Candidates should be able to properly patch a kernel to add support for new hardware. This objective also includes being able to properly remove kernel patches from already patched kernels. | ||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * Kernel Makefiles | ||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * patch | ||
+ | |||
+ | * gzip | ||
+ | |||
+ | * bzip2 | ||
+ | |||
+ | <br /> | ||
+ | |||
+ | ====<span style="color:navy">201.4 Customise, build and install a custom kernel and kernel modules</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 2 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | Candidates should be able to customise, build and install a 2.6 or 3.x kernel for specific system requirements, by patching, compiling and editing configuration files as required. This objective includes being able to assess requirements for a kernel compile as well as build and configure kernel modules. | ||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * Customize the current kernel configuration. | ||
+ | |||
+ | * Build a new kernel and appropriate kernel modules. | ||
+ | |||
+ | * Install a new kernel and any modules. | ||
+ | |||
+ | * Ensure that the boot manager can locate the new kernel and associated files. | ||
+ | |||
+ | * /usr/src/linux/ | ||
+ | |||
+ | * Module configuration files | ||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * patch | ||
+ | |||
+ | * make | ||
+ | |||
+ | * module tools | ||
+ | |||
+ | * /usr/src/linux/* | ||
+ | |||
+ | * /usr/src/linux/.config | ||
+ | |||
+ | * /lib/modules/kernel-version/* | ||
+ | |||
+ | * /boot/* | ||
+ | |||
+ | * make targets: all, config, menuconfig, xconfig, gconfig oldconfig, modules, install, modules_install, rpm-pkg, binrpm-pkg, deb-pkg | ||
+ | |||
+ | * depmod | ||
+ | |||
+ | * strings | ||
+ | |||
+ | <br /> | ||
+ | |||
+ | ====<span style="color:navy">201.5 Manage/Query kernel and kernel modules at runtime</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 4 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | Candidates should be able to manage and/or query a 2.6.x or 3.x kernel and its loadable modules. Candidates should be able to identify and correct common boot and run time issues. | ||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * Use command-line utilities to get information about the currently running kernel and kernel modules. | ||
+ | |||
+ | * Manually load and unload kernel modules. | ||
+ | |||
+ | * Determine when modules can be unloaded. | ||
+ | |||
+ | * Determine what parameters a module accepts. | ||
+ | |||
+ | * Configure the system to load modules by names other than their file name. | ||
+ | |||
+ | * /proc filesystem | ||
+ | |||
+ | * Content of /, /boot , and /lib/modules | ||
+ | |||
+ | * Tools and utilities to analyse information about the available hardware | ||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * /lib/modules/kernel-version/modules.dep | ||
+ | |||
+ | * module configuration files in /etc | ||
+ | |||
+ | * /proc/sys/kernel/ | ||
+ | |||
+ | * /sbin/depmod | ||
+ | |||
+ | * /sbin/rmmod | ||
+ | |||
+ | * /sbin/modinfo | ||
+ | |||
+ | * /bin/dmesg | ||
+ | |||
+ | * /sbin/lspci | ||
+ | |||
+ | * /usr/bin/lsdev | ||
+ | |||
+ | * /sbin/lsmod | ||
+ | |||
+ | * /sbin/modprobe | ||
+ | |||
+ | * /sbin/insmod | ||
+ | |||
+ | * /bin/uname | ||
+ | |||
+ | * /usr/bin/lsusb | ||
+ | |||
+ | * /etc/sysctl.conf, /etc/sysctl.d/ | ||
+ | |||
+ | * /sbin/sysctl | ||
+ | |||
+ | <br /> | ||
+ | |||
+ | <br /> | ||
+ | |||
+ | ===''Topic 202: System Startup''=== | ||
+ | |||
+ | ====<span style="color:navy">202.1 Customising system startup and boot processes</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 4 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | Candidates should be able to query and modify the behaviour of system services at various run levels. A thorough understanding of the init structure and boot process is required. This objective includes interacting with run levels. | ||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * Linux Standard Base Specification (LSB) | ||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * /etc/inittab | ||
+ | |||
+ | * /etc/init.d/ | ||
+ | |||
+ | * /etc/rc.d/ | ||
+ | |||
+ | * chkconfig | ||
+ | |||
+ | * update-rc.d | ||
+ | |||
+ | <br /> | ||
+ | |||
+ | ====<span style="color:navy">202.2 System recovery</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 4 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | Candidates should be able to properly manipulate a Linux system during both the boot process and during recovery mode. This objective includes using both the init utility and init-related kernel options. Candidates should be able to determine the cause of errors in loading and usage of bootloaders. GRUB and LILO are the bootloaders of interest. | ||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * inittab | ||
+ | |||
+ | * GRUB | ||
+ | |||
+ | * grub shell | ||
+ | |||
+ | * boot loader start and hand off to kernel | ||
+ | |||
+ | * kernel loading | ||
+ | |||
+ | * hardware initialisation and setup | ||
+ | |||
+ | * daemon/service initialisation and setup | ||
+ | |||
+ | * Know the different bootloader install locations on a hard disk or removable device | ||
+ | |||
+ | * Overwriting standard bootloader options and using bootloader shells | ||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * init | ||
+ | |||
+ | * mount | ||
+ | |||
+ | * fsck | ||
+ | |||
+ | * telinit | ||
+ | |||
+ | * The contents of /boot/ and /boot/grub/ | ||
+ | |||
+ | * GRUB | ||
+ | |||
+ | * grub-install | ||
+ | |||
+ | * initrd, initramfs | ||
+ | |||
+ | * Master boot record | ||
+ | |||
+ | * lilo | ||
+ | |||
+ | * /etc/lilo.conf | ||
+ | |||
+ | |||
+ | <br /> | ||
+ | <br /> | ||
+ | ====<span style="color:navy">202.3 Alternative Bootloaders</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 1 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | Candidates should be aware of other bootloaders and some major features. | ||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * SYSLIUNX, ISOLINUX, PXELINUX | ||
+ | |||
+ | * Understanding of PXE | ||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * Hardware Detection Tool (HDT) | ||
+ | |||
+ | |||
+ | ===''Topic 203: Filesystem and Devices''=== | ||
+ | |||
+ | |||
+ | ====<span style="color:navy">203.1 Operating the Linux filesystem</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 4 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | Candidates should be able to properly configure and navigate the standard Linux filesystem. This objective includes configuring and mounting various filesystem types. | ||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * The concept of the fstab configuration | ||
+ | |||
+ | * Tools and utilities for handling SWAP partitions and files | ||
+ | |||
+ | * Use of UUIDs | ||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * /etc/fstab | ||
+ | |||
+ | * /etc/mtab | ||
+ | |||
+ | * /proc/mounts | ||
+ | |||
+ | * mount and umount | ||
+ | |||
+ | * sync | ||
+ | |||
+ | * swapon | ||
+ | |||
+ | * swapoff | ||
+ | |||
+ | <br /> | ||
+ | |||
+ | ====<span style="color:navy">203.2 Maintaining a Linux filesystem</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 3 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | Candidates should be able to properly maintain a Linux filesystem using system utilities. This objective includes manipulating standard filesystems. | ||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * Tools and utilities to manipulate and ext2, ext3 and ext4 | ||
+ | |||
+ | * Tools and utilities to manipulate reiserfs V3 | ||
+ | |||
+ | * Tools and utilities to manipulate xfs | ||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * fsck (fsck.*) | ||
+ | |||
+ | * badblocks | ||
+ | |||
+ | * mkfs (mkfs.*) | ||
+ | |||
+ | * dumpe2fs, xfsdump, xfsrestore | ||
+ | |||
+ | * debugfs, debugreiserfs | ||
+ | |||
+ | * tune2fs, reiserfstune | ||
+ | |||
+ | * mkswap | ||
+ | |||
+ | * xfs_info, xfs_check and xfs_repair | ||
+ | |||
+ | <br /> | ||
+ | |||
+ | ====<span style="color:navy">203.3 Creating and configuring filesystem options</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 2 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | Candidates should be able to configure automount filesystems using AutoFS. This objective includes configuring automount for network and device filesystems. Also included is creating filesystems for devices such as CD-ROMs and a basic feature knowledge of encrypted filesystems. | ||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * autofs configuration files | ||
+ | |||
+ | * UDF and ISO9660 tools and utilities | ||
+ | |||
+ | * awareness of CD-ROM filesystems (UDF, ISO9660, HFS) | ||
+ | |||
+ | * awareness of CD-ROM filesystem extensions (Joliet, Rock Ridge, El Torito) | ||
+ | |||
+ | * basic feature knowledge of encrypted filesystems | ||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * /etc/auto.master | ||
+ | |||
+ | * /etc/auto.[dir] | ||
+ | |||
+ | * mkisofs | ||
+ | |||
+ | * dd | ||
+ | |||
+ | * mke2fs | ||
+ | |||
+ | <br /> | ||
+ | |||
+ | ====<span style="color:navy">203.4 udev Device Management</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 1 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | Candidates should understand device detection and management using udev. This objective includes troubleshooting udev rules. | ||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * udev rules | ||
+ | |||
+ | * Kernel interface | ||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * udevmonitor | ||
+ | |||
+ | * /etc/udev | ||
+ | |||
+ | <br /> | ||
+ | <br /> | ||
+ | |||
+ | ===''Topic 204: Advanced Storage Device Administration''=== | ||
+ | |||
+ | ====<span style="color:navy">204.1 Configuring RAID</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 2 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | Candidates should be able to configure and implement software RAID. This objective includes using and configuring RAID 0, 1 and 5. | ||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * Software raid configuration files and utilities | ||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * mdadm.conf | ||
+ | |||
+ | * mdadm | ||
+ | |||
+ | * /proc/mdstat | ||
+ | |||
+ | * fdisk | ||
+ | <br /> | ||
+ | |||
+ | ====<span style="color:navy">204.2 Adjusting Storage Device Access</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 1 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | Candidates should be able to configure kernel options to support various drives. This objective includes software tools to view & modify hard disk settings. | ||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * Tools and utilities to configure DMA for IDE devices including ATAPI and SATA | ||
+ | |||
+ | * Tools and utilities to manipulate or analyse system resources (e.g. interrupts) | ||
+ | |||
+ | * Awareness of sdparm command and its uses | ||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * hdparm | ||
+ | |||
+ | * sdparm | ||
+ | |||
+ | * tune2fs | ||
+ | |||
+ | * sysctl | ||
+ | |||
+ | * /dev/hd* & /dev/sd* | ||
+ | |||
+ | <br /> | ||
+ | |||
+ | ====<span style="color:navy">204.3 Logical Volume Manager</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 3 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | Candidates should be able to create and remove logical volumes, volume groups, and physical volumes. This objective includes snapshots and resizing logical volumes. | ||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * Tools in the LVM suite | ||
+ | |||
+ | * Resizing, renaming, creating, and removing logical volumes, volume groups, and physical volumes | ||
+ | |||
+ | * Creating and maintaining snapshots | ||
+ | |||
+ | * Activating volume groups | ||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * /sbin/pv* | ||
+ | |||
+ | * /sbin/lv* | ||
+ | |||
+ | * /sbin/vg* | ||
+ | |||
+ | * mount | ||
+ | |||
+ | * /dev/mapper/ | ||
+ | |||
+ | <br /> | ||
+ | <br /> | ||
+ | |||
+ | ===''Topic 205: Networking Configuration''=== | ||
+ | |||
+ | ====<span style="color:navy">205.1 Basic networking configuration</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 3 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | Candidates should be able to configure a network device to be able to connect to a local, wired or wireless, and a wide-area network. This objective includes being able to communicate between various subnets within a single network including both IPv4 and IPv6 networks. | ||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * Utilities to configure and manipulate ethernet network interfaces | ||
+ | |||
+ | * Configuring wireless networks | ||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * /sbin/route | ||
+ | |||
+ | * /sbin/ifconfig | ||
+ | |||
+ | * /sbin/ip | ||
+ | |||
+ | * /usr/sbin/arp | ||
+ | |||
+ | * /sbin/iwconfig | ||
+ | |||
+ | * /sbin/iwlist | ||
+ | |||
+ | <br /> | ||
+ | |||
+ | ====<span style="color:navy">205.2 Advanced Network Configuration and Troubleshooting</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 4 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | Candidates should be able to configure a network device to implement various network authentication schemes. This objective includes configuring a multi-homed network device, configuring a VPN client and resolving communication problems. | ||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * Utilities to manipulate routing tables | ||
+ | |||
+ | * Utilities to configure and manipulate ethernet network interfaces | ||
+ | |||
+ | * Utilities to analyse the status of the network devices | ||
+ | |||
+ | * Utilities to monitor and analyse the TCP/IP traffic | ||
+ | |||
+ | * OpenVPN | ||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * /sbin/route | ||
+ | |||
+ | * /sbin/ifconfig | ||
+ | |||
+ | * /bin/netstat | ||
+ | |||
+ | * /bin/ping | ||
+ | |||
+ | * /usr/sbin/arp | ||
+ | |||
+ | * /usr/sbin/tcpdump | ||
+ | |||
+ | * /usr/sbin/lsof | ||
+ | |||
+ | * /usr/bin/nc | ||
+ | |||
+ | * /sbin/ip | ||
+ | |||
+ | * /etc/openvpn/* | ||
+ | |||
+ | * openvpn | ||
+ | |||
+ | * nmap | ||
+ | |||
+ | * wireshark | ||
+ | |||
+ | <br /> | ||
+ | |||
+ | ====<span style="color:navy">205.3 Troubleshooting network issues</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 4 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | Candidates should be able to identify and correct common network setup issues, to include knowledge of locations for basic configuration files and commands. | ||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * Location and content of access restriction files | ||
+ | |||
+ | * Utilities to configure and manipulate ethernet network interfaces | ||
+ | |||
+ | * Utilities to manage routing tables | ||
+ | |||
+ | * Utilities to list network states. | ||
+ | |||
+ | * Utilities to gain information about the network configuration | ||
+ | |||
+ | * Methods of information about the recognised and used hardware devices | ||
+ | |||
+ | * System initialisation files and their contents (SysV init process) | ||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * /sbin/ifconfig | ||
+ | |||
+ | * /sbin/route | ||
+ | |||
+ | * /bin/netstat | ||
+ | |||
+ | * /etc/network || /etc/sysconfig/network-scripts/ | ||
+ | |||
+ | * System log files such as /var/log/syslog & /var/log/messages | ||
+ | |||
+ | * /bin/ping | ||
+ | |||
+ | * /etc/resolv.conf | ||
+ | |||
+ | * /etc/hosts | ||
+ | |||
+ | * /etc/hosts.allow & /etc/hosts.deny | ||
+ | |||
+ | * /etc/hostname | /etc/HOSTNAME | ||
+ | |||
+ | * /bin/hostname | ||
+ | |||
+ | * /usr/sbin/traceroute | ||
+ | |||
+ | * /usr/bin/dig | ||
+ | |||
+ | * /bin/dmesg | ||
+ | |||
+ | * /usr/bin/host | ||
+ | |||
+ | <br /> | ||
+ | |||
+ | ====<span style="color:navy">205.4 Notify users on system-related issues</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 1 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | Candidates should be able to notify the users about current issues related to the system. | ||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * Automate communication with users through logon messages. | ||
+ | |||
+ | * Inform active users of system maintenance | ||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * /etc/issue | ||
+ | |||
+ | * /etc/issue.net | ||
+ | |||
+ | * /etc/motd | ||
+ | |||
+ | * wall | ||
+ | |||
+ | * /sbin/shutdown | ||
+ | |||
+ | <br /> | ||
+ | <br /> | ||
+ | |||
+ | ===''Topic 206: System Maintenance''=== | ||
+ | |||
+ | ====<span style="color:navy">206.1 Make and install programs from source</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 4 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | Candidates should be able to build and install an executable program from source. This objective includes being able to unpack a file of sources. | ||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * Unpack source code using common compression and archive utilities. | ||
+ | |||
+ | * Understand basics of invoking make to compile programs. | ||
+ | |||
+ | * Apply parameters to a configure script. | ||
+ | |||
+ | * Know where sources are stored by default. | ||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * /usr/src/ | ||
+ | |||
+ | * gunzip | ||
+ | |||
+ | * gzip | ||
+ | |||
+ | * bzip2 | ||
+ | |||
+ | * tar | ||
+ | |||
+ | * configure | ||
+ | |||
+ | * make | ||
+ | |||
+ | * uname | ||
+ | |||
+ | * install | ||
+ | |||
+ | <br /> | ||
+ | |||
+ | ====<span style="color:navy">206.2 Backup operations</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 2 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | Candidates should be able to use system tools to back up important system data. | ||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * Knowledge about directories that have to be include in backups | ||
+ | |||
+ | * Awareness of network backup solutions such as Amanda, Bacula and BackupPC | ||
+ | |||
+ | * Knowledge of the benefits and drawbacks of tapes, CDR, disk or other backup media | ||
+ | |||
+ | * Perform partial and manual backups. | ||
+ | |||
+ | * Verify the integrity of backup files. | ||
+ | |||
+ | * Partially or fully restore backups. | ||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * /bin/sh | ||
+ | |||
+ | * cpio | ||
+ | |||
+ | * dd | ||
+ | |||
+ | * tar | ||
+ | |||
+ | * /dev/st* and /dev/nst* | ||
+ | |||
+ | * mt | ||
+ | |||
+ | * rsync | ||
+ | |||
+ | <br /> | ||
+ | <br /> | ||
+ | |||
+ | ===''Topic 207: Domain Name Server''=== | ||
+ | |||
+ | ====<span style="color:navy">207.1 Basic DNS server configuration</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 2 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | Candidates should be able to configure BIND to function as a caching-only DNS server. This objective includes the ability to convert older BIND configuration files to newer format, managing a running server and configuring logging. | ||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * BIND 9.x configuration files, terms and utilities | ||
+ | |||
+ | * Defining the location of the BIND zone files in BIND configuration files | ||
+ | |||
+ | * Reloading modified configuration and zone files | ||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * /etc/named.conf | ||
+ | |||
+ | * /var/named/* | ||
+ | |||
+ | * /usr/sbin/rndc | ||
+ | |||
+ | * kill | ||
+ | |||
+ | <br /> | ||
+ | |||
+ | ====<span style="color:navy">207.2 Create and maintain DNS zones</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 2 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | Candidates should be able to create a zone file for a forward or reverse zone or root level server. This objective includes setting appropriate values for records, adding hosts in zones and adding zones to the DNS. A candidate should also be able to delegate zones to another DNS server. | ||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * BIND 9 configuration files, terms and utilities | ||
+ | |||
+ | * Utilities to request information from the DNS server | ||
+ | |||
+ | * Layout, content and file location of the BIND zone files | ||
+ | |||
+ | * Various methods to add a new host in the zone files, including reverse zones | ||
+ | |||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * /var/named/* | ||
+ | |||
+ | * zone file syntax | ||
+ | |||
+ | * resource record formats | ||
+ | |||
+ | * dig | ||
+ | |||
+ | * nslookup | ||
+ | |||
+ | * host | ||
+ | |||
+ | <br /> | ||
+ | |||
+ | ====<span style="color:navy">207.3 Securing a DNS server</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 2 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | Candidates should be able to configure a DNS server to run as a non-root user and run in a chroot jail. This objective includes secure exchange of data between DNS servers. | ||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * BIND 9 configuration files | ||
+ | |||
+ | * Configuring BIND to run in a chroot jail | ||
+ | |||
+ | * Split configuration of BIND using the forwarders statement | ||
+ | |||
+ | * Configuring and using transaction signatures (TSIG) | ||
+ | |||
+ | * Signing zones using DNSSEC | ||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * /etc/named.conf | ||
+ | |||
+ | * /etc/passwd | ||
+ | |||
+ | * DNSSEC | ||
+ | |||
+ | * dnssec-keygen | ||
+ | |||
+ | <br /> | ||
+ | |||
+ | ==Objectives: Exam 202== | ||
+ | |||
+ | ===''Topic 208: Web Services''=== | ||
+ | |||
+ | ====<span style="color:navy">208.1 Implementing a web server</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 3 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | Candidates should be able to install and configure a web server. This objective includes monitoring the server's load and performance, restricting client user access, configuring support for scripting languages as modules and setting up client user authentication. Also included is configuring server options to restrict usage of resources. | ||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * Apache 2.x configuration files, terms and utilities | ||
+ | |||
+ | * Apache log files configuration and content | ||
+ | |||
+ | * Access restriction methods and files | ||
+ | |||
+ | * mod_perl and PHP configuration | ||
+ | |||
+ | * Client user authentication files and utilities | ||
+ | |||
+ | * Configuration of maximum requests, minimum and maximum servers and clients | ||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * access logs and error logs | ||
+ | |||
+ | * .htaccess | ||
+ | |||
+ | * httpd.conf | ||
+ | |||
+ | * mod_auth | ||
+ | |||
+ | * htpasswd | ||
+ | |||
+ | * htgroup | ||
+ | |||
+ | * apache2ctl | ||
+ | |||
+ | * httpd | ||
+ | |||
+ | <br /> | ||
+ | |||
+ | ====<span style="color:navy">208.2 Maintaining a Web Server</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 2 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | Candidates should be able to configure a web server to use virtual hosts, Secure Sockets Layer (SSL) and customise file access. | ||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * SSL configuration files, tools and utilities | ||
+ | |||
+ | * SSL certificate handling | ||
+ | |||
+ | * Apache 2.x virtual host implementation (with and without dedicated IP addresses) | ||
+ | |||
+ | * Using redirect statements in Apache's configuration files to customise file access | ||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * Apache2 configuration files | ||
+ | |||
+ | * /etc/ssl/* | ||
+ | |||
+ | * openssl | ||
+ | |||
+ | <br /> | ||
+ | |||
+ | ====<span style="color:navy">208.3 Implementing a Caching Proxy</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 2 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | Candidates should be able to install and configure a proxy server, including access policies, authentication and resource usage. | ||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * Squid 2.x configuration files, terms and utilities | ||
+ | |||
+ | * Access restriction methods | ||
+ | |||
+ | * Client user authentication methods | ||
+ | |||
+ | * Layout and content of ACL in the Squid configuration files | ||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * squid.conf | ||
+ | |||
+ | * acl | ||
+ | |||
+ | * http_access | ||
+ | |||
+ | ====<span style="color:navy">208.4 Implementing a Reverse Proxy</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 2 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | Candidates should be able to install and configure a reverse proxy server, Nginx. Basic configuration of Nginx as a HTTP server is included. Knowledge of other Nginx features like IMAP/POP3 expected. | ||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * Nginx | ||
+ | |||
+ | * Reverse Proxy | ||
+ | |||
+ | * Basic Web Server | ||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * /etc/nginx/ | ||
+ | |||
+ | * nginx | ||
+ | |||
+ | <br /> | ||
+ | <br /> | ||
+ | |||
+ | ===''Topic 209: File Sharing''=== | ||
+ | |||
+ | ====<span style="color:navy">209.1 SAMBA Server Configuration</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 4 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | Candidates should be able to set up a SAMBA server for various clients. This objective includes setting up Samba for login clients and setting up the workgroup in which a server participates and defining shared directories and printers. Also covered is a configuring a Linux client to use a Samba server. Troubleshooting installations is also tested. | ||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * Samba 3 documentation | ||
+ | |||
+ | * Samba configuration files | ||
+ | |||
+ | * Samba tools and utilities | ||
+ | |||
+ | * Mounting Samba shares on Linux | ||
+ | |||
+ | * Samba daemons | ||
+ | |||
+ | * Mapping Windows user names to Linux user names | ||
+ | |||
+ | * User-Level and Share-Level security | ||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * smbd, nmbd | ||
+ | |||
+ | * smbstatus, testparm, smbpasswd, nmblookup | ||
+ | |||
+ | * smbclient | ||
+ | |||
+ | * net | ||
+ | |||
+ | * /etc/smb/* | ||
+ | |||
+ | * /var/log/samba/ | ||
+ | |||
+ | <br /> | ||
+ | |||
+ | ====<span style="color:navy">209.2 NFS Server Configuration</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 4 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | Candidates should be able to export filesystems using NFS. This objective includes access restrictions, mounting an NFS filesystem on a client and securing NFS. | ||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * NFS configuration files | ||
+ | |||
+ | * NFS tools and utilities | ||
+ | |||
+ | * Access restrictions to certain hosts and/or subnets | ||
+ | |||
+ | * Mount options on server and client | ||
+ | |||
+ | * tcpwrappers | ||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * /etc/exports | ||
+ | |||
+ | * exportfs | ||
+ | |||
+ | * showmount | ||
+ | |||
+ | * nfsstat | ||
+ | |||
+ | * /proc/mounts | ||
+ | |||
+ | * /etc/fstab | ||
+ | |||
+ | * rpcinfo | ||
+ | |||
+ | * mountd | ||
+ | |||
+ | * portmapper | ||
+ | |||
+ | <br /> | ||
+ | <br /> | ||
+ | |||
+ | ===''Topic 210: Network Client Management''=== | ||
+ | |||
+ | ====<span style="color:navy">210.1 DHCP configuration</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 2 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | Candidates should be able to configure a DHCP server. This objective includes setting default and per client options, adding static hosts and BOOTP hosts. Also included is configuring a DHCP relay agent and maintaining the DHCP server. | ||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * DHCP configuration files, terms and utilities | ||
+ | |||
+ | * Subnet and dynamically-allocated range setup | ||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * dhcpd.conf | ||
+ | |||
+ | * dhcpd.leases | ||
+ | |||
+ | * /var/log/daemon.log and /var/log/messages | ||
+ | |||
+ | * arp | ||
+ | |||
+ | * dhcpd | ||
+ | |||
+ | <br /> | ||
+ | |||
+ | ====<span style="color:navy">210.2 PAM authentication</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 3 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | The candidate should be able to configure PAM to support authentication using various available methods. | ||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * PAM configuration files, terms and utilities | ||
+ | |||
+ | * passwd and shadow passwords | ||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * /etc/pam.d | ||
+ | |||
+ | * pam.conf | ||
+ | |||
+ | * nsswitch.conf | ||
+ | |||
+ | * pam_unix, pam_cracklib, pam_limits, pam_listfile | ||
+ | |||
+ | <br /> | ||
+ | |||
+ | ====<span style="color:navy">210.3 LDAP client usage</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 2 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | Candidates should be able to perform queries and updates to an LDAP server. Also included is importing and adding items, as well as adding and managing users. | ||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * LDAP utilities for data management and queries | ||
+ | |||
+ | * Change user passwords | ||
+ | |||
+ | * Querying the LDAP directory | ||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * ldapsearch | ||
+ | |||
+ | * ldappasswd | ||
+ | |||
+ | * ldapadd | ||
+ | |||
+ | * ldapdelete | ||
+ | |||
+ | <br /> | ||
+ | |||
+ | ====<span style="color:navy">210.4 LDAP Server Basics</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 4 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | Candidates should be able to configure a basic OpenLDAP server including knowledge of LDIF format and essential access controls. | ||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * OpenLDAP | ||
+ | |||
+ | * Access Control | ||
+ | |||
+ | * Directories | ||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * slapd | ||
+ | |||
+ | * LDIF | ||
+ | |||
+ | * ldapadd | ||
+ | |||
+ | <br /> | ||
+ | <br /> | ||
+ | |||
+ | ===''Topic 211: E-Mail Services''=== | ||
+ | |||
+ | ====<span style="color:navy">211.1 Using e-mail servers</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 3 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | Candidates should be able to manage an e-mail server, including the configuration of e-mail aliases, e-mail quotas and virtual e-mail domains. This objective includes configuring internal e-mail relays and monitoring e-mail servers. | ||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * Configuration files for postfix | ||
+ | |||
+ | * Basic knowledge of the SMTP protocol, sendmail, and exim | ||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * Configuration files and commands for postfix | ||
+ | |||
+ | * Basic configuration of sendmail | ||
+ | |||
+ | * /etc/aliases | ||
+ | |||
+ | * /etc/mail/* | ||
+ | |||
+ | * /etc/postfix/* | ||
+ | |||
+ | * sendmail emulation layer commands | ||
+ | |||
+ | * /var/spool/mail | ||
+ | |||
+ | * mail-related logs in /var/log/ | ||
+ | |||
+ | <br /> | ||
+ | |||
+ | ====<span style="color:navy">211.2 Managing Local E-Mail Delivery</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 2 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | Candidates should be able to implement client e-mail management software to filter, sort and monitor incoming user e-mail. | ||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * procmail configuration files, tools and utilities | ||
+ | |||
+ | * Usage of procmail on both server and client side | ||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * ~/.procmailrc | ||
+ | |||
+ | * /etc/procmailrc | ||
+ | |||
+ | * procmail | ||
+ | |||
+ | * mbox and Maildir formats | ||
+ | |||
+ | <br /> | ||
+ | |||
+ | ====<span style="color:navy">211.3 Managing Remote E-Mail Delivery</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 2 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | Candidates should be able to install and configure POP and IMAP daemons. | ||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * Courier IMAP and Courier POP configuration | ||
+ | |||
+ | * Dovecot configuration | ||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * /etc/courier/* | ||
+ | |||
+ | * dovecot.conf | ||
+ | |||
+ | <br /> | ||
+ | <br /> | ||
+ | |||
+ | ===''Topic 212: System Security''=== | ||
+ | |||
+ | ====<span style="color:navy">212.1 Configuring a router</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 3 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | Candidates should be able to configure a system to perform network address translation (NAT, IP masquerading) and state its significance in protecting a network. This objective includes configuring port redirection, managing filter rules and averting attacks. | ||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * iptables configuration files, tools and utilities | ||
+ | |||
+ | * Tools, commands and utilities to manage routing tables. | ||
+ | |||
+ | * Private address ranges | ||
+ | |||
+ | * Port redirection and IP forwarding | ||
+ | |||
+ | * List and write filtering and rules that accept or block datagrams based on source or destination protocol, port and address | ||
+ | |||
+ | * Save and reload filtering configurations | ||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * /proc/sys/net/ipv4 | ||
+ | |||
+ | * /etc/services | ||
+ | |||
+ | * iptables | ||
+ | |||
+ | <br /> | ||
+ | |||
+ | ====<span style="color:navy">212.2 Securing FTP servers</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 2 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | Candidates should be able to configure an FTP server for anonymous downloads and uploads. This objective includes precautions to be taken if anonymous uploads are permitted and configuring user access. | ||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * Configuration files, tools and utilities for Pure-FTPd and vsftpd | ||
+ | |||
+ | * Awareness of ProFTPd | ||
+ | |||
+ | * Understanding of passive vs. active FTP connections | ||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * vsftpd.conf | ||
+ | |||
+ | * important Pure-FTPd command line options | ||
+ | |||
+ | <br /> | ||
+ | |||
+ | ====<span style="color:navy">212.3 Secure shell (SSH)</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 4 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | Candidates should be able to configure and secure an SSH daemon. This objective includes managing keys and configuring SSH for users. Candidates should also be able to forward an application protocol over SSH and manage the SSH login. | ||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * OpenSSH configuration files, tools and utilities | ||
+ | |||
+ | * Login restrictions for the superuser and the normal users | ||
+ | |||
+ | * Managing and using server and client keys to login with and without password | ||
+ | |||
+ | * Usage of XWindow and other application protocols through SSH tunnels | ||
+ | |||
+ | * Configuration of ssh-agent | ||
+ | |||
+ | * Usage of multiple connections from multiple hosts to guard against loss of connection to remote host following configuration changes | ||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * ssh | ||
+ | |||
+ | * sshd | ||
+ | |||
+ | * /etc/ssh/sshd_config | ||
+ | |||
+ | * Private and public key files | ||
+ | |||
+ | * ~/.ssh/authorized_keys | ||
+ | |||
+ | * PermitRootLogin, PubKeyAuthentication, AllowUsers, PasswordAuthentication, Protocol | ||
+ | |||
+ | <br /> | ||
+ | |||
+ | ====<span style="color:navy">212.4 TCP Wrapper</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 1 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | Candidates should be able to configure TCP Wrapper to allow connections to specified servers only from certain hosts or subnets. | ||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * TCP Wrapper configuration files, tools and utilities | ||
+ | |||
+ | * inetd configuration files, tools and utilities | ||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * /etc/inetd.conf | ||
+ | |||
+ | * /etc/hosts.allow | ||
+ | |||
+ | * /etc/hosts.deny | ||
+ | |||
+ | * libwrap | ||
+ | |||
+ | * tcpd | ||
+ | |||
+ | <br /> | ||
+ | |||
+ | ====<span style="color:navy">212.5 Security tasks</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 3 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | Candidates should be able to receive security alerts from various sources, install, configure and run intrusion detection systems and apply security patches and bugfixes. | ||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * Tools and utilities to scan and test ports on a server | ||
+ | |||
+ | * Locations and organisations that report security alerts as Bugtraq, CERT, CIAC or other sources | ||
+ | |||
+ | * Tools and utilities to implement an intrusion detection system (IDS) | ||
+ | |||
+ | * Awareness of OpenVAS | ||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * telnet | ||
+ | |||
+ | * nmap | ||
+ | |||
+ | * snort | ||
+ | |||
+ | * fail2ban | ||
+ | |||
+ | * nc | ||
+ | |||
+ | * iptables | ||
+ | |||
+ | <br /> | ||
+ | <br /> | ||
+ | |||
+ | |||
+ | ===''Topic 213/214: Capacity Planning''=== | ||
+ | |||
+ | ====<span style="color:navy">213/214.1 Measure Resource Usage</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 4 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | | ||
+ | |||
+ | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | | ||
+ | |||
+ | Candidates should be able to measure hardware resource and network bandwidth usage. | ||
+ | |||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * Measure CPU usage. | ||
+ | * Measure memory usage. | ||
+ | * Measure disk I/O. | ||
+ | * Measure network I/O. | ||
+ | * Measure firewalling and routing throughput. | ||
+ | * Map client bandwidth usage. | ||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * iostat | ||
+ | * vmstat | ||
+ | * netstat | ||
+ | * pstree, ps | ||
+ | * w | ||
+ | * lsof | ||
+ | * top | ||
+ | * uptime | ||
+ | * sar | ||
+ | |||
+ | <br /> | ||
+ | |||
+ | ====<span style="color:navy">213/214.2 Troubleshoot Resource Problems</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 4 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | | ||
+ | |||
+ | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | | ||
+ | |||
+ | Candidates should be able to identify and troubleshoot resource problems. | ||
+ | |||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * Match / correlate system symptoms with likely problems. | ||
+ | * Estimate throughput and identify bottlenecks in a system including networking. | ||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * swap | ||
+ | * processes blocked on I/O | ||
+ | * blocks in | ||
+ | * blocks out | ||
+ | * network | ||
+ | |||
+ | <br /> | ||
+ | |||
+ | ====<span style="color:navy">213/214.3 Analyze Demand</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 1 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | | ||
+ | |||
+ | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | | ||
+ | |||
+ | Candidates should be able to analyze capacity demands. | ||
+ | |||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * Identify capacity demands. | ||
+ | * Detail capacity needs of programs. | ||
+ | * Determine CPU / memory needs of programs. | ||
+ | * Assemble program needs into a complete analysis. | ||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * PDQ | ||
+ | * CPU usage | ||
+ | * memory usage | ||
+ | * appropriate measurement time | ||
+ | * trend | ||
+ | * model | ||
+ | * what-if | ||
+ | * validate | ||
+ | * performance equation | ||
+ | |||
+ | <br /> | ||
+ | |||
+ | ====<span style="color:navy">213/214.4 Predict Future Resource Needs</span>==== | ||
+ | |||
+ | {| | ||
+ | | style="background:#dadada" | | ||
+ | |||
+ | '''Weight''' | ||
+ | |||
+ | | style="background:#eaeaea" | 3 | ||
+ | |- | ||
+ | | style="background:#dadada; padding-right:1em" | | ||
+ | |||
+ | '''Description''' | ||
+ | |||
+ | | style="background:#eaeaea" | | ||
+ | |||
+ | Candidates should be able to monitor resource usage to predict future resource needs. | ||
+ | |||
+ | |} | ||
+ | |||
+ | '''Key Knowledge Areas:''' | ||
+ | |||
+ | * Use Nagios to monitor IT infrastructure. | ||
+ | * Predict capacity break point of a configuration. | ||
+ | * Observe growth rate of capacity usage. | ||
+ | * Graph the trend of capacity usage. | ||
+ | |||
+ | '''The following is a partial list of the used files, terms and utilities:''' | ||
+ | |||
+ | * diagnose | ||
+ | * predict growth | ||
+ | * average | ||
+ | * resource exhaustion | ||
+ | |||
+ | <br /> | ||
+ | <br /> | ||
+ | |||
+ | ==Future Change Considerations== | ||
+ | |||
+ | Future changes to the objective will/may include: | ||
+ | |||
+ | * consider dropping LILO (JTA should be used) and including other loaders such as iso/sys/pxelinux | ||
+ | * EFI Shell, GRUB 1.99 and backported EFI boot support in GRUB 0.97, Parted slicing of GPT, etc | ||
+ | * Topic 208: adding basic knowledge of nginx, lighttpd and cherokee? | ||
+ | * re-organize troubleshooting to split it in relevant topics |
Revision as of 00:01, 5 April 2013
Contents
- 1 Introduction
- 2 Version Information
- 3 Addenda
- 4 Translations of Objectives
- 5 Objectives: Exam 201
- 6 Objectives: Exam 202
- 7 Future Change Considerations
Introduction
This is a required exam for LPI certification Level 2. It covers advanced skills for the Linux professional that are common across all distributions of Linux.
We are attempting to create a Body of Knowledge for these objectives.
Version Information
These objectives are version 4.0.0rc1. Weightings are estimates and will be finalised shortly.
This is also a summary and detailed information on the changes from version 3.5.x to 4.0.0 of the objectives.
Addenda
Version Update Addendum (Apr 1st, 2013)
- updated to version 4.0.0rc1
Translations of Objectives
The following translations of the objectives are available on this wiki:
Objectives: Exam 201
Topic 201: Linux Kernel
201.1 Kernel Components
Weight |
2 |
Description | Candidates should be able to utilise kernel components that are necessary to specific hardware, hardware drivers, system resources and requirements. This objective includes implementing different types of kernel images, identifying stable and development kernels and patches, as well as using kernel modules. |
Key Knowledge Areas:
- Kernel 2.6.x documentation
- Kernel 3.x documentation
The following is a partial list of the used files, terms and utilities:
- /usr/src/linux
- /usr/src/linux/Documentation
- zImage
- bzImage
201.2 Compiling a kernel
Weight |
2 |
Description | Candidates should be able to properly configure a kernel to include or disable specific features of the Linux kernel as necessary. This objective includes compiling and recompiling the Linux kernel as needed, updating and noting changes in a new kernel, creating an initrd image and installing new kernels. |
Key Knowledge Areas:
- /usr/src/linux/
- GRUB configuration files
- Kernel 2.6.x make targets
- Kernel 3.x make targets
The following is a partial list of the used files, terms and utilities:
- mkinitrd
- mkinitramfs
- make
- make targets (config, xconfig, menuconfig, oldconfig, mrproper, zImage, bzImage, modules, modules_install)
201.3 Patching a kernel
Weight |
1 |
Description | Candidates should be able to properly patch a kernel to add support for new hardware. This objective also includes being able to properly remove kernel patches from already patched kernels. |
Key Knowledge Areas:
- Kernel Makefiles
The following is a partial list of the used files, terms and utilities:
- patch
- gzip
- bzip2
201.4 Customise, build and install a custom kernel and kernel modules
Weight |
2 |
Description | Candidates should be able to customise, build and install a 2.6 or 3.x kernel for specific system requirements, by patching, compiling and editing configuration files as required. This objective includes being able to assess requirements for a kernel compile as well as build and configure kernel modules. |
Key Knowledge Areas:
- Customize the current kernel configuration.
- Build a new kernel and appropriate kernel modules.
- Install a new kernel and any modules.
- Ensure that the boot manager can locate the new kernel and associated files.
- /usr/src/linux/
- Module configuration files
The following is a partial list of the used files, terms and utilities:
- patch
- make
- module tools
- /usr/src/linux/*
- /usr/src/linux/.config
- /lib/modules/kernel-version/*
- /boot/*
- make targets: all, config, menuconfig, xconfig, gconfig oldconfig, modules, install, modules_install, rpm-pkg, binrpm-pkg, deb-pkg
- depmod
- strings
201.5 Manage/Query kernel and kernel modules at runtime
Weight |
4 |
Description | Candidates should be able to manage and/or query a 2.6.x or 3.x kernel and its loadable modules. Candidates should be able to identify and correct common boot and run time issues. |
Key Knowledge Areas:
- Use command-line utilities to get information about the currently running kernel and kernel modules.
- Manually load and unload kernel modules.
- Determine when modules can be unloaded.
- Determine what parameters a module accepts.
- Configure the system to load modules by names other than their file name.
- /proc filesystem
- Content of /, /boot , and /lib/modules
- Tools and utilities to analyse information about the available hardware
The following is a partial list of the used files, terms and utilities:
- /lib/modules/kernel-version/modules.dep
- module configuration files in /etc
- /proc/sys/kernel/
- /sbin/depmod
- /sbin/rmmod
- /sbin/modinfo
- /bin/dmesg
- /sbin/lspci
- /usr/bin/lsdev
- /sbin/lsmod
- /sbin/modprobe
- /sbin/insmod
- /bin/uname
- /usr/bin/lsusb
- /etc/sysctl.conf, /etc/sysctl.d/
- /sbin/sysctl
Topic 202: System Startup
202.1 Customising system startup and boot processes
Weight |
4 |
Description | Candidates should be able to query and modify the behaviour of system services at various run levels. A thorough understanding of the init structure and boot process is required. This objective includes interacting with run levels. |
Key Knowledge Areas:
- Linux Standard Base Specification (LSB)
The following is a partial list of the used files, terms and utilities:
- /etc/inittab
- /etc/init.d/
- /etc/rc.d/
- chkconfig
- update-rc.d
202.2 System recovery
Weight |
4 |
Description | Candidates should be able to properly manipulate a Linux system during both the boot process and during recovery mode. This objective includes using both the init utility and init-related kernel options. Candidates should be able to determine the cause of errors in loading and usage of bootloaders. GRUB and LILO are the bootloaders of interest. |
Key Knowledge Areas:
- inittab
- GRUB
- grub shell
- boot loader start and hand off to kernel
- kernel loading
- hardware initialisation and setup
- daemon/service initialisation and setup
- Know the different bootloader install locations on a hard disk or removable device
- Overwriting standard bootloader options and using bootloader shells
The following is a partial list of the used files, terms and utilities:
- init
- mount
- fsck
- telinit
- The contents of /boot/ and /boot/grub/
- GRUB
- grub-install
- initrd, initramfs
- Master boot record
- lilo
- /etc/lilo.conf
202.3 Alternative Bootloaders
Weight |
1 |
Description | Candidates should be aware of other bootloaders and some major features. |
Key Knowledge Areas:
- SYSLIUNX, ISOLINUX, PXELINUX
- Understanding of PXE
The following is a partial list of the used files, terms and utilities:
- Hardware Detection Tool (HDT)
Topic 203: Filesystem and Devices
203.1 Operating the Linux filesystem
Weight |
4 |
Description | Candidates should be able to properly configure and navigate the standard Linux filesystem. This objective includes configuring and mounting various filesystem types. |
Key Knowledge Areas:
- The concept of the fstab configuration
- Tools and utilities for handling SWAP partitions and files
- Use of UUIDs
The following is a partial list of the used files, terms and utilities:
- /etc/fstab
- /etc/mtab
- /proc/mounts
- mount and umount
- sync
- swapon
- swapoff
203.2 Maintaining a Linux filesystem
Weight |
3 |
Description | Candidates should be able to properly maintain a Linux filesystem using system utilities. This objective includes manipulating standard filesystems. |
Key Knowledge Areas:
- Tools and utilities to manipulate and ext2, ext3 and ext4
- Tools and utilities to manipulate reiserfs V3
- Tools and utilities to manipulate xfs
The following is a partial list of the used files, terms and utilities:
- fsck (fsck.*)
- badblocks
- mkfs (mkfs.*)
- dumpe2fs, xfsdump, xfsrestore
- debugfs, debugreiserfs
- tune2fs, reiserfstune
- mkswap
- xfs_info, xfs_check and xfs_repair
203.3 Creating and configuring filesystem options
Weight |
2 |
Description | Candidates should be able to configure automount filesystems using AutoFS. This objective includes configuring automount for network and device filesystems. Also included is creating filesystems for devices such as CD-ROMs and a basic feature knowledge of encrypted filesystems. |
Key Knowledge Areas:
- autofs configuration files
- UDF and ISO9660 tools and utilities
- awareness of CD-ROM filesystems (UDF, ISO9660, HFS)
- awareness of CD-ROM filesystem extensions (Joliet, Rock Ridge, El Torito)
- basic feature knowledge of encrypted filesystems
The following is a partial list of the used files, terms and utilities:
- /etc/auto.master
- /etc/auto.[dir]
- mkisofs
- dd
- mke2fs
203.4 udev Device Management
Weight |
1 |
Description | Candidates should understand device detection and management using udev. This objective includes troubleshooting udev rules. |
Key Knowledge Areas:
- udev rules
- Kernel interface
The following is a partial list of the used files, terms and utilities:
- udevmonitor
- /etc/udev
Topic 204: Advanced Storage Device Administration
204.1 Configuring RAID
Weight |
2 |
Description | Candidates should be able to configure and implement software RAID. This objective includes using and configuring RAID 0, 1 and 5. |
Key Knowledge Areas:
- Software raid configuration files and utilities
The following is a partial list of the used files, terms and utilities:
- mdadm.conf
- mdadm
- /proc/mdstat
- fdisk
204.2 Adjusting Storage Device Access
Weight |
1 |
Description | Candidates should be able to configure kernel options to support various drives. This objective includes software tools to view & modify hard disk settings. |
Key Knowledge Areas:
- Tools and utilities to configure DMA for IDE devices including ATAPI and SATA
- Tools and utilities to manipulate or analyse system resources (e.g. interrupts)
- Awareness of sdparm command and its uses
The following is a partial list of the used files, terms and utilities:
- hdparm
- sdparm
- tune2fs
- sysctl
- /dev/hd* & /dev/sd*
204.3 Logical Volume Manager
Weight |
3 |
Description | Candidates should be able to create and remove logical volumes, volume groups, and physical volumes. This objective includes snapshots and resizing logical volumes. |
Key Knowledge Areas:
- Tools in the LVM suite
- Resizing, renaming, creating, and removing logical volumes, volume groups, and physical volumes
- Creating and maintaining snapshots
- Activating volume groups
The following is a partial list of the used files, terms and utilities:
- /sbin/pv*
- /sbin/lv*
- /sbin/vg*
- mount
- /dev/mapper/
Topic 205: Networking Configuration
205.1 Basic networking configuration
Weight |
3 |
Description | Candidates should be able to configure a network device to be able to connect to a local, wired or wireless, and a wide-area network. This objective includes being able to communicate between various subnets within a single network including both IPv4 and IPv6 networks. |
Key Knowledge Areas:
- Utilities to configure and manipulate ethernet network interfaces
- Configuring wireless networks
The following is a partial list of the used files, terms and utilities:
- /sbin/route
- /sbin/ifconfig
- /sbin/ip
- /usr/sbin/arp
- /sbin/iwconfig
- /sbin/iwlist
205.2 Advanced Network Configuration and Troubleshooting
Weight |
4 |
Description | Candidates should be able to configure a network device to implement various network authentication schemes. This objective includes configuring a multi-homed network device, configuring a VPN client and resolving communication problems. |
Key Knowledge Areas:
- Utilities to manipulate routing tables
- Utilities to configure and manipulate ethernet network interfaces
- Utilities to analyse the status of the network devices
- Utilities to monitor and analyse the TCP/IP traffic
- OpenVPN
The following is a partial list of the used files, terms and utilities:
- /sbin/route
- /sbin/ifconfig
- /bin/netstat
- /bin/ping
- /usr/sbin/arp
- /usr/sbin/tcpdump
- /usr/sbin/lsof
- /usr/bin/nc
- /sbin/ip
- /etc/openvpn/*
- openvpn
- nmap
- wireshark
205.3 Troubleshooting network issues
Weight |
4 |
Description | Candidates should be able to identify and correct common network setup issues, to include knowledge of locations for basic configuration files and commands. |
Key Knowledge Areas:
- Location and content of access restriction files
- Utilities to configure and manipulate ethernet network interfaces
- Utilities to manage routing tables
- Utilities to list network states.
- Utilities to gain information about the network configuration
- Methods of information about the recognised and used hardware devices
- System initialisation files and their contents (SysV init process)
The following is a partial list of the used files, terms and utilities:
- /sbin/ifconfig
- /sbin/route
- /bin/netstat
- /etc/network || /etc/sysconfig/network-scripts/
- System log files such as /var/log/syslog & /var/log/messages
- /bin/ping
- /etc/resolv.conf
- /etc/hosts
- /etc/hosts.allow & /etc/hosts.deny
- /etc/hostname | /etc/HOSTNAME
- /bin/hostname
- /usr/sbin/traceroute
- /usr/bin/dig
- /bin/dmesg
- /usr/bin/host
Weight |
1 |
Description | Candidates should be able to notify the users about current issues related to the system. |
Key Knowledge Areas:
- Automate communication with users through logon messages.
- Inform active users of system maintenance
The following is a partial list of the used files, terms and utilities:
- /etc/issue
- /etc/issue.net
- /etc/motd
- wall
- /sbin/shutdown
Topic 206: System Maintenance
206.1 Make and install programs from source
Weight |
4 |
Description | Candidates should be able to build and install an executable program from source. This objective includes being able to unpack a file of sources. |
Key Knowledge Areas:
- Unpack source code using common compression and archive utilities.
- Understand basics of invoking make to compile programs.
- Apply parameters to a configure script.
- Know where sources are stored by default.
The following is a partial list of the used files, terms and utilities:
- /usr/src/
- gunzip
- gzip
- bzip2
- tar
- configure
- make
- uname
- install
206.2 Backup operations
Weight |
2 |
Description | Candidates should be able to use system tools to back up important system data. |
Key Knowledge Areas:
- Knowledge about directories that have to be include in backups
- Awareness of network backup solutions such as Amanda, Bacula and BackupPC
- Knowledge of the benefits and drawbacks of tapes, CDR, disk or other backup media
- Perform partial and manual backups.
- Verify the integrity of backup files.
- Partially or fully restore backups.
The following is a partial list of the used files, terms and utilities:
- /bin/sh
- cpio
- dd
- tar
- /dev/st* and /dev/nst*
- mt
- rsync
Topic 207: Domain Name Server
207.1 Basic DNS server configuration
Weight |
2 |
Description | Candidates should be able to configure BIND to function as a caching-only DNS server. This objective includes the ability to convert older BIND configuration files to newer format, managing a running server and configuring logging. |
Key Knowledge Areas:
- BIND 9.x configuration files, terms and utilities
- Defining the location of the BIND zone files in BIND configuration files
- Reloading modified configuration and zone files
The following is a partial list of the used files, terms and utilities:
- /etc/named.conf
- /var/named/*
- /usr/sbin/rndc
- kill
207.2 Create and maintain DNS zones
Weight |
2 |
Description | Candidates should be able to create a zone file for a forward or reverse zone or root level server. This objective includes setting appropriate values for records, adding hosts in zones and adding zones to the DNS. A candidate should also be able to delegate zones to another DNS server. |
Key Knowledge Areas:
- BIND 9 configuration files, terms and utilities
- Utilities to request information from the DNS server
- Layout, content and file location of the BIND zone files
- Various methods to add a new host in the zone files, including reverse zones
The following is a partial list of the used files, terms and utilities:
- /var/named/*
- zone file syntax
- resource record formats
- dig
- nslookup
- host
207.3 Securing a DNS server
Weight |
2 |
Description | Candidates should be able to configure a DNS server to run as a non-root user and run in a chroot jail. This objective includes secure exchange of data between DNS servers. |
Key Knowledge Areas:
- BIND 9 configuration files
- Configuring BIND to run in a chroot jail
- Split configuration of BIND using the forwarders statement
- Configuring and using transaction signatures (TSIG)
- Signing zones using DNSSEC
The following is a partial list of the used files, terms and utilities:
- /etc/named.conf
- /etc/passwd
- DNSSEC
- dnssec-keygen
Objectives: Exam 202
Topic 208: Web Services
208.1 Implementing a web server
Weight |
3 |
Description | Candidates should be able to install and configure a web server. This objective includes monitoring the server's load and performance, restricting client user access, configuring support for scripting languages as modules and setting up client user authentication. Also included is configuring server options to restrict usage of resources. |
Key Knowledge Areas:
- Apache 2.x configuration files, terms and utilities
- Apache log files configuration and content
- Access restriction methods and files
- mod_perl and PHP configuration
- Client user authentication files and utilities
- Configuration of maximum requests, minimum and maximum servers and clients
The following is a partial list of the used files, terms and utilities:
- access logs and error logs
- .htaccess
- httpd.conf
- mod_auth
- htpasswd
- htgroup
- apache2ctl
- httpd
208.2 Maintaining a Web Server
Weight |
2 |
Description | Candidates should be able to configure a web server to use virtual hosts, Secure Sockets Layer (SSL) and customise file access. |
Key Knowledge Areas:
- SSL configuration files, tools and utilities
- SSL certificate handling
- Apache 2.x virtual host implementation (with and without dedicated IP addresses)
- Using redirect statements in Apache's configuration files to customise file access
The following is a partial list of the used files, terms and utilities:
- Apache2 configuration files
- /etc/ssl/*
- openssl
208.3 Implementing a Caching Proxy
Weight |
2 |
Description | Candidates should be able to install and configure a proxy server, including access policies, authentication and resource usage. |
Key Knowledge Areas:
- Squid 2.x configuration files, terms and utilities
- Access restriction methods
- Client user authentication methods
- Layout and content of ACL in the Squid configuration files
The following is a partial list of the used files, terms and utilities:
- squid.conf
- acl
- http_access
208.4 Implementing a Reverse Proxy
Weight |
2 |
Description | Candidates should be able to install and configure a reverse proxy server, Nginx. Basic configuration of Nginx as a HTTP server is included. Knowledge of other Nginx features like IMAP/POP3 expected. |
Key Knowledge Areas:
- Nginx
- Reverse Proxy
- Basic Web Server
The following is a partial list of the used files, terms and utilities:
- /etc/nginx/
- nginx
Topic 209: File Sharing
209.1 SAMBA Server Configuration
Weight |
4 |
Description | Candidates should be able to set up a SAMBA server for various clients. This objective includes setting up Samba for login clients and setting up the workgroup in which a server participates and defining shared directories and printers. Also covered is a configuring a Linux client to use a Samba server. Troubleshooting installations is also tested. |
Key Knowledge Areas:
- Samba 3 documentation
- Samba configuration files
- Samba tools and utilities
- Mounting Samba shares on Linux
- Samba daemons
- Mapping Windows user names to Linux user names
- User-Level and Share-Level security
The following is a partial list of the used files, terms and utilities:
- smbd, nmbd
- smbstatus, testparm, smbpasswd, nmblookup
- smbclient
- net
- /etc/smb/*
- /var/log/samba/
209.2 NFS Server Configuration
Weight |
4 |
Description | Candidates should be able to export filesystems using NFS. This objective includes access restrictions, mounting an NFS filesystem on a client and securing NFS. |
Key Knowledge Areas:
- NFS configuration files
- NFS tools and utilities
- Access restrictions to certain hosts and/or subnets
- Mount options on server and client
- tcpwrappers
The following is a partial list of the used files, terms and utilities:
- /etc/exports
- exportfs
- showmount
- nfsstat
- /proc/mounts
- /etc/fstab
- rpcinfo
- mountd
- portmapper
Topic 210: Network Client Management
210.1 DHCP configuration
Weight |
2 |
Description | Candidates should be able to configure a DHCP server. This objective includes setting default and per client options, adding static hosts and BOOTP hosts. Also included is configuring a DHCP relay agent and maintaining the DHCP server. |
Key Knowledge Areas:
- DHCP configuration files, terms and utilities
- Subnet and dynamically-allocated range setup
The following is a partial list of the used files, terms and utilities:
- dhcpd.conf
- dhcpd.leases
- /var/log/daemon.log and /var/log/messages
- arp
- dhcpd
210.2 PAM authentication
Weight |
3 |
Description | The candidate should be able to configure PAM to support authentication using various available methods. |
Key Knowledge Areas:
- PAM configuration files, terms and utilities
- passwd and shadow passwords
The following is a partial list of the used files, terms and utilities:
- /etc/pam.d
- pam.conf
- nsswitch.conf
- pam_unix, pam_cracklib, pam_limits, pam_listfile
210.3 LDAP client usage
Weight |
2 |
Description | Candidates should be able to perform queries and updates to an LDAP server. Also included is importing and adding items, as well as adding and managing users. |
Key Knowledge Areas:
- LDAP utilities for data management and queries
- Change user passwords
- Querying the LDAP directory
The following is a partial list of the used files, terms and utilities:
- ldapsearch
- ldappasswd
- ldapadd
- ldapdelete
210.4 LDAP Server Basics
Weight |
4 |
Description | Candidates should be able to configure a basic OpenLDAP server including knowledge of LDIF format and essential access controls. |
Key Knowledge Areas:
- OpenLDAP
- Access Control
- Directories
The following is a partial list of the used files, terms and utilities:
- slapd
- LDIF
- ldapadd
Topic 211: E-Mail Services
211.1 Using e-mail servers
Weight |
3 |
Description | Candidates should be able to manage an e-mail server, including the configuration of e-mail aliases, e-mail quotas and virtual e-mail domains. This objective includes configuring internal e-mail relays and monitoring e-mail servers. |
Key Knowledge Areas:
- Configuration files for postfix
- Basic knowledge of the SMTP protocol, sendmail, and exim
The following is a partial list of the used files, terms and utilities:
- Configuration files and commands for postfix
- Basic configuration of sendmail
- /etc/aliases
- /etc/mail/*
- /etc/postfix/*
- sendmail emulation layer commands
- /var/spool/mail
- mail-related logs in /var/log/
211.2 Managing Local E-Mail Delivery
Weight |
2 |
Description | Candidates should be able to implement client e-mail management software to filter, sort and monitor incoming user e-mail. |
Key Knowledge Areas:
- procmail configuration files, tools and utilities
- Usage of procmail on both server and client side
The following is a partial list of the used files, terms and utilities:
- ~/.procmailrc
- /etc/procmailrc
- procmail
- mbox and Maildir formats
211.3 Managing Remote E-Mail Delivery
Weight |
2 |
Description | Candidates should be able to install and configure POP and IMAP daemons. |
Key Knowledge Areas:
- Courier IMAP and Courier POP configuration
- Dovecot configuration
The following is a partial list of the used files, terms and utilities:
- /etc/courier/*
- dovecot.conf
Topic 212: System Security
212.1 Configuring a router
Weight |
3 |
Description | Candidates should be able to configure a system to perform network address translation (NAT, IP masquerading) and state its significance in protecting a network. This objective includes configuring port redirection, managing filter rules and averting attacks. |
Key Knowledge Areas:
- iptables configuration files, tools and utilities
- Tools, commands and utilities to manage routing tables.
- Private address ranges
- Port redirection and IP forwarding
- List and write filtering and rules that accept or block datagrams based on source or destination protocol, port and address
- Save and reload filtering configurations
The following is a partial list of the used files, terms and utilities:
- /proc/sys/net/ipv4
- /etc/services
- iptables
212.2 Securing FTP servers
Weight |
2 |
Description | Candidates should be able to configure an FTP server for anonymous downloads and uploads. This objective includes precautions to be taken if anonymous uploads are permitted and configuring user access. |
Key Knowledge Areas:
- Configuration files, tools and utilities for Pure-FTPd and vsftpd
- Awareness of ProFTPd
- Understanding of passive vs. active FTP connections
The following is a partial list of the used files, terms and utilities:
- vsftpd.conf
- important Pure-FTPd command line options
212.3 Secure shell (SSH)
Weight |
4 |
Description | Candidates should be able to configure and secure an SSH daemon. This objective includes managing keys and configuring SSH for users. Candidates should also be able to forward an application protocol over SSH and manage the SSH login. |
Key Knowledge Areas:
- OpenSSH configuration files, tools and utilities
- Login restrictions for the superuser and the normal users
- Managing and using server and client keys to login with and without password
- Usage of XWindow and other application protocols through SSH tunnels
- Configuration of ssh-agent
- Usage of multiple connections from multiple hosts to guard against loss of connection to remote host following configuration changes
The following is a partial list of the used files, terms and utilities:
- ssh
- sshd
- /etc/ssh/sshd_config
- Private and public key files
- ~/.ssh/authorized_keys
- PermitRootLogin, PubKeyAuthentication, AllowUsers, PasswordAuthentication, Protocol
212.4 TCP Wrapper
Weight |
1 |
Description | Candidates should be able to configure TCP Wrapper to allow connections to specified servers only from certain hosts or subnets. |
Key Knowledge Areas:
- TCP Wrapper configuration files, tools and utilities
- inetd configuration files, tools and utilities
The following is a partial list of the used files, terms and utilities:
- /etc/inetd.conf
- /etc/hosts.allow
- /etc/hosts.deny
- libwrap
- tcpd
212.5 Security tasks
Weight |
3 |
Description | Candidates should be able to receive security alerts from various sources, install, configure and run intrusion detection systems and apply security patches and bugfixes. |
Key Knowledge Areas:
- Tools and utilities to scan and test ports on a server
- Locations and organisations that report security alerts as Bugtraq, CERT, CIAC or other sources
- Tools and utilities to implement an intrusion detection system (IDS)
- Awareness of OpenVAS
The following is a partial list of the used files, terms and utilities:
- telnet
- nmap
- snort
- fail2ban
- nc
- iptables
Topic 213/214: Capacity Planning
213/214.1 Measure Resource Usage
Weight |
4 |
Description |
Candidates should be able to measure hardware resource and network bandwidth usage. |
Key Knowledge Areas:
- Measure CPU usage.
- Measure memory usage.
- Measure disk I/O.
- Measure network I/O.
- Measure firewalling and routing throughput.
- Map client bandwidth usage.
The following is a partial list of the used files, terms and utilities:
- iostat
- vmstat
- netstat
- pstree, ps
- w
- lsof
- top
- uptime
- sar
213/214.2 Troubleshoot Resource Problems
Weight |
4 |
Description |
Candidates should be able to identify and troubleshoot resource problems. |
Key Knowledge Areas:
- Match / correlate system symptoms with likely problems.
- Estimate throughput and identify bottlenecks in a system including networking.
The following is a partial list of the used files, terms and utilities:
- swap
- processes blocked on I/O
- blocks in
- blocks out
- network
213/214.3 Analyze Demand
Weight |
1 |
Description |
Candidates should be able to analyze capacity demands. |
Key Knowledge Areas:
- Identify capacity demands.
- Detail capacity needs of programs.
- Determine CPU / memory needs of programs.
- Assemble program needs into a complete analysis.
The following is a partial list of the used files, terms and utilities:
- PDQ
- CPU usage
- memory usage
- appropriate measurement time
- trend
- model
- what-if
- validate
- performance equation
213/214.4 Predict Future Resource Needs
Weight |
3 |
Description |
Candidates should be able to monitor resource usage to predict future resource needs. |
Key Knowledge Areas:
- Use Nagios to monitor IT infrastructure.
- Predict capacity break point of a configuration.
- Observe growth rate of capacity usage.
- Graph the trend of capacity usage.
The following is a partial list of the used files, terms and utilities:
- diagnose
- predict growth
- average
- resource exhaustion
Future Change Considerations
Future changes to the objective will/may include:
- consider dropping LILO (JTA should be used) and including other loaders such as iso/sys/pxelinux
- EFI Shell, GRUB 1.99 and backported EFI boot support in GRUB 0.97, Parted slicing of GPT, etc
- Topic 208: adding basic knowledge of nginx, lighttpd and cherokee?
- re-organize troubleshooting to split it in relevant topics