From Fedora Project Wiki

Revision as of 18:25, 7 February 2011 by Herlo (talk | contribs) (→‎System Configuration and Management: adding a short blurb for network, services and security stuff)

Warning.png
This page is a draft only
It is still under construction and content may change. Do not rely on the information on this page.

The Fedora Project is in constant need for administrators with better skills. In a yet-to-be-named initiative, the Fedora Project wishes to help as many contributors as possible improve their basic system administration skills. This study guide is to help those pursuing additional goals, including higher-pay, certifications and more.

The study guide as it stands is intended to be printed by those who wish to study common tasks performed by many system administrators. This study guide is based upon the Red Hat Certified System Administrator and Red Hat Certified Engineer Exam preparation guides. Other useful study components will be added here. Community contributions are always welcome.

Local System Administration Tasks

Generally speaking, the items below are specific to a local machine and do not involve services or network components. In many cases, however, these components are the groundwork for other areas of specialization in the Linux system administration world.

Understand and Use Essential Tools

  • Access a shell prompt and issue commands with correct syntax








  • Use input-output redirection (>, >>, |, 2>, etc.)









  • Use grep and regular expressions to analyze text









  • Access remote systems using ssh and VNC









  • Log in and switch users in multi-user runlevels










  • Archive, compress, unpack and uncompress files using tar, star, gzip, and bzip2










  • Create and edit text files









  • Create, delete, copy and move files and directories









  • Create hard and soft links










  • List, set and change standard ugo/rwx permissions








  • Locate, read and use system documentation including man, info, and files in /usr/share/doc .








Operate Running Systems

  • Boot, reboot, and shut down a system normally








  • Boot systems into different runlevels manually









  • Use single-user mode to gain access to a system









  • Identify CPU/memory intensive processes, adjust process priority with renice, and kill processes









  • Locate and interpret system log files









  • Access a virtual machine's console









  • Start and stop virtual machines









  • Start, stop and check the status of network services









Configure Local Storage

  • List, create, delete and set partition type for primary, extended, and logical partitions









  • Create and remove physical volumes, assign physical volumes to volume groups, create and delete logical volumes










  • Create and configure LUKS-encrypted partitions and logical volumes to prompt for password and mount a decrypted file system at boot









  • Configure systems to mount file systems at boot by Universally Unique ID (UUID) or label









  • Add new partitions, logical volumes and swap to a system non-destructively









Create and Configure File Systems

  • Create, mount, unmount and use ext2, ext3 and ext4 file systems










  • Mount, unmount and use LUKS-encrypted file systems









  • Mount and unmount CIFS and NFS network file systems









  • Configure systems to mount ext4, LUKS-encrypted and network file systems automatically









  • Extend existing unencrypted ext4-formatted logical volumes









  • Create and configure set-GID directories for collaboration









  • Create and manage Access Control Lists (ACLs)










  • Diagnose and correct file permission problems










Deploy, Configure and Maintain Systems

  • Configure networking and hostname resolution statically or dynamically









  • Schedule tasks using cron









  • Configure systems to boot into a specific runlevel automatically










  • Install automatically using Kickstart










  • Configure a physical machine to host virtual guests










  • Install systems as virtual guests










  • Configure systems to launch virtual machines at boot










  • Configure network services to start automatically at boot











  • Configure a system to run a default configuration HTTP server











  • Configure a system to run a default configuration FTP server











  • Install and update software packages from a remote repository, or from the local filesystem











  • Update the kernel package appropriately to ensure a bootable system










  • Modify the system bootloader










Manage Users and Groups

  • Create, delete, and modify local user accounts











  • Change passwords and adjust password aging for local user accounts










  • Create, delete and modify local groups and group memberships










  • Configure a system to use an existing LDAP directory service for user and group information










Manage Security

  • Configure firewall settings using system-config-firewall or iptables










  • Set enforcing and permissive modes for SELinux










  • List and identify SELinux file and process context











  • Restore default file contexts










  • Use boolean settings to modify system SELinux settings










  • Diagnose and address routine SELinux policy violations










Network, System Services and Security

The following study components focus on providing system(s) with services that other machines will consume. This area of expertise involves focused security techniques, network configurations and knowledge of commonly accessed network services.

System Configuration and Management

  • Route IP traffic and create static routes









  • Use iptables to implement packet filtering and configure network address translation (NAT)








  • Use /proc/sys and sysctl to modify and set kernel run-time parameters








  • Configure system to authenticate using Kerberos









  • Build a simple RPM that packages a single file









  • Configure a system as an iSCSI initiator that persistently mounts an iSCSI target








  • Produce and deliver reports on system utilization (processor, memory, disk, and network)








  • Use shell scripting to automate system maintenance tasks








  • Configure a system to log to a remote system









  • Configure a system to accept logging from a remote system

Network Services

  • Install the packages needed to provide the service









  • Configure SELinux to support the service









  • Configure the service to start when the system is booted









  • Configure the service for basic operation









  • Configure host-based and user-based security for the service








HTTP/HTTPS

  • Configure a virtual host








  • Configure private directories









  • Deploy a basic CGI application








  • Configure group-managed content









DNS

  • Configure a caching-only name server











  • Configure a caching-only name server to forward DNS queries









FTP

  • Configure anonymous-only download









NFS

  • Provide network shares to specific clients









  • Provide network shares suitable for group collaboration









SMB

  • Provide network shares to specific clients









  • Provide network shares suitable for group collaboration









SMTP

  • Configure a mail transfer agent (MTA) to accept inbound email from other systems









  • Configure an MTA to forward (relay) email through a smart host








SSH

  • Configure key-based authentication








NTP

  • Synchronize time using other NTP peers