BSD Specialist Exam 702 Objectives

Exam Objectives Version: 1.0

Exam Code: 702-100

About Objective Weights: Each objective is assigned a weighting value. The weights indicate the relative importance of each objective on the exam. Objectives with higher weights will be covered in the exam with more questions.

Purchase Voucher

Topic 711: BSD Installation and Software Management

711.1 BSD Operating System Installation (weight: 3)

Weight 3
Description The candidate should be able to install FreeBSD, NetBSD, and OpenBSD. Furthermore, candidates should be able to upgrade an existing BSD installation.

Key Knowledge Areas:

  • Install the FreeBSD, NetBSD, and OpenBSD operating systems using default options.
  • Upgrade an existing FreeBSD, NetBSD or OpenBSD operating system installation.
  • Determine the type and version of the operating system installed.

The following is a partial list of the used files, terms and utilities:

  • Common:
    • uname
  • FreeBSD:
    • bsdinstall
    • freebsd-update
  • NetBSD:
    • sysinst
  • OpenBSD:
    • bsd.rd

 

711.2 BSD Software and Package Management (weight: 4)

Weight 4
Description Candidates should be able to install, manage, and update software on a BSD system. This includes using pre-compiled binary software using a package manager as well as compiling software from source code and using ports.

Key Knowledge Areas:

  • Candidates should understand software management mechanisms on BSD systems.
  • Install, query, and uninstall pre-compiled binary packages.
  • Use ports to compile software.
  • Determine which installed software has pending upgrades or outstanding security vulnerabilities and install available upgrades.

The following is a partial list of the used files, terms and utilities:

  • Common:
    • make
  • FreeBSD:
    • pkg install
    • pkg delete
    • pkg info
    • pkg upgrade
  • NetBSD:
    • pkg_admin
    • pkg_add
    • pkg_delete
    • pkg_info
  • OpenBSD:
    • pkg_add
    • pkg_delete
    • pkg_info

 

711.3 BSD System Startup Configuration (weight: 3)

Weight 3
Description Candidates should understand the BSD boot process and be able to manage services, including configuring which services are started at boot time. Furthermore, candidates should be able to start and restart a BSD system.

Key Knowledge Areas:

  • Understand the boot process of each BSD operating system.
  • Understand the role and principles of a bootloader, including BSD bootloader stages.
  • Use rc startup scripts to start, stop, restart, and check the status of services.
  • Configure services to be started at boot time.
  • Start and restart a BSD system.
  • Put a BSD system in single-user mode.

The following is a partial list of the used files, terms and utilities:

  • Common:
    • boot(8)
    • rc
    • /etc/rc.conf
    • /etc/rc.d/
    • inetd
    • shutdown
  • FreeBSD:
    • service
  • NetBSD:
    • service
  • OpenBSD:
    • rcctl

 

711.4 Hardware Configuration (weight: 2)

Weight 2
Description Candidates should be able to investigate a system’s hardware and configure how BSD handles hardware devices. This includes understanding the role of kernel modules and loading and managing existing kernel modules.

Key Knowledge Areas:

  • Determine what hardware is installed on a system.
  • Determine which hardware was probed at boot time.
  • BSD-specific utilities which can be used to troubleshoot and manipulate PCI, ATA, and SCSI devices.
  • View, load, and unload kernel modules.
  • Availability of kernel modules in different BSD operating systems.

The following is a partial list of the used files, terms and utilities:

  • Common:
    • dmesg
    • /boot/loader.conf
  • FreeBSD:
    • camcontrol
    • devinfo
    • pciconf
    • kldstat
    • kldload
    • kldunload
  • NetBSD:
    • atactl
    • pcictl
    • scsictl
    • modstat
    • modload
    • modunload
  • OpenBSD:
    • atactl
    • scsi

 

711.5 BSD Kernel Parameters and System Security Level (weight: 2)

Weight 2
Description Candidate should understand configurable kernel parameters (MIBs) and should be able to view and set kernel parameters. This includes understanding and setting BSD securelevels.

Key Knowledge Areas:

  • Understand the concept of kernel MIBs.
  • View MIBs and modify MIBs at run-time and permanently.
  • Understand the concept and restrictions of BSD securelevels.
  • Understand under which circumstances a securelevel can be raised or lowered.

The following is a partial list of the used files, terms and utilities:

  • Common:
    • init
    • sysctl
    • /etc/sysctl.conf
  • OpenBSD:
    • config
    • /etc/boot.conf

 

Topic 712: Storage Devices and BSD Filesystems

712.1 BSD Partitioning and Disk Labels (weight: 2)

Weight 2
Description Candidates should understand the concepts of disk slice tables and disk labels and be able to view, create, and modify the layout of a hard disk.

Key Knowledge Areas:

  • Understand the concepts of disk slice tables and disk labels.
  • View, create, or edit the disk slice table, master boot record, or disk label.

The following is a partial list of the used files, terms and utilities:

  • Common:
    • fdisk
    • disklabel
  • OpenBSD:
    • installboot

 

712.2 Create File Systems and Maintain their Integrity (weight: 1)

Weight 1
Description Candidates should be able to create file systems and check their integrity. This includes identifying files which consume the most disk space.

Key Knowledge Areas:

  • Create UFS and ZFS file systems.
  • Determine disk space usage and available space.
  • Check the consistency of a UFS filesystem or health of a ZFS pool.
  • Awareness of ZFS snapshots.

The following is a partial list of the used files, terms and utilities:

  • Common:
    • newfs
    • fsck
    • du
    • df
  • FreeBSD:
    • zpool
  • NetBSD:
    • zpool

 

712.3 Control Mounting and Unmounting of File Systems (weight: 2)

Weight 2
Description Candidates should be able to view mounted file systems, mount or unmount file systems, and determine which file systems will mount at boot.

Key Knowledge Areas:

  • Determine which local file systems are currently mounted.
  • Mount and unmount UFS or ZFS file systems.
  • Configure which file systems are mounted at boot time.
  • Resolve mount errors.

The following is a partial list of the used files, terms and utilities:

  • Common:
    • mount
    • umount
    • /etc/fstab
    • df
  • FreeBSD
    • zfs
  • NetBSD
    • zfs

 

712.4 Manage File Permissions and Ownership (weight: 3)

Weight 3
Description Candidates should understand and be able to manage file ownership and permissions.

Key Knowledge Areas:

  • Understand traditional Unix permissions.
  • View and modify permissions using both symbolic and octal mode.
  • Understand and use the SUID bit, SGID bit, and sticky bit.
  • Set the default file and directory permissions.
  • View and modify ownership of files and directories.

The following is a partial list of the used files, terms and utilities:

  • Common:
    • chown
    • chgrp
    • ls
    • chmod
    • umask

 

712.5 Create and Change Hard and Symbolic Links (weight: 1)

Weight 1
Description Candidates should be able to manage symbolic and hard links.

Key Knowledge Areas:

  • Understand the difference between symbolic and hard links.
  • Create, view, and remove both types of links.

The following is a partial list of the used files, terms and utilities:

  • Common:
    • ln
    • ls
    • rm(1)

 

712.6 Find Files and BSD Directory Layout (weight: 2)

Weight 2
Description Candidates should understand the BSD directory layout and be able to find files according to different search criteria.

Key Knowledge Areas:

  • Understand the directory layout used by BSD systems.
  • Know which utilities can be used to find binaries, source, manpages, and files.
  • Update the locate database.
  • Use find to locate files, including using search criteria such as last modification time, size, type, file flags, UID or GID, permissions, or by a text pattern.

The following is a partial list of the used files, terms and utilities:

  • Common:
    • whatis
    • whereis
    • which
    • locate
    • locate.updatedb
    • find
    • hier(7)

 

<

Topic 713: Basic BSD System Administration

713.1 Manage User Accounts and Groups (weight: 3)

Weight 3
Description Candidates should be able to create and manage user and system accounts as well as groups and group membership.

Key Knowledge Areas:

  • Create, modify, and remove user and system accounts as well as groups.
  • Manage group membership.
  • Lock and unlock accounts.
  • Change user passwords.
  • Change a user’s properties, such as the default shell.
  • Control which files are copied to a new user’s home directory during account creation.

The following is a partial list of the used files, terms and utilities:

  • Common:
    • adduser
    • passwd
    • chpass
    • chfn
    • chsh
    • vipw
    • nologin
    • id
    • groups
    • who
    • whoami
    • su(1)
    • /usr/share/skel/
  • FreeBSD:
    • pw
    • rmuser
  • NetBSD:
    • user
    • useradd
    • userinfo
    • usermod
    • userdel
  • OpenBSD:
    • user
    • useradd
    • userinfo
    • usermod
    • userdel
    • rmuser

 

713.2 Automate System Administration Tasks by Scheduling Jobs (weight: 2)

Weight 2
Description Candidates should understand the location of the periodic system scripts and be able to schedule automated execution of their own commands using cron.

Key Knowledge Areas:

  • Understand the periodic system scripts.
  • Configure which periodic system scripts are run daily, weekly and monthly.
  • Manually run a periodic system script.
  • Understand the difference between the system crontab and user crontabs, including all available fields.
  • Use the crontab editor to create or edit a user crontab.
  • Control which users can create their own crontabs.

The following is a partial list of the used files, terms and utilities:

  • Common:
    • crontab
    • cron
    • crontab
    • /var/cron/allow
    • /var/cron/deny
  • FreeBSD:
    • /etc/defaults/periodic.conf
    • periodic
  • NetBSD:
    • /etc/daily.conf
    • /etc/weekly.conf
    • /etc/monthly.conf
    • /etc/security.conf
  • OpenBSD:
    • daily
    • weekly
    • monthly

 

713.3 Maintain System Time (weight: 1)

Weight 1
Description Candidates should be able to set the system time and use NTP for time synchronization.

Key Knowledge Areas:

  • Understand the concepts of NTP.
  • Configure NTP and manually synchronize with a time server.

The following is a partial list of the used files, terms and utilities:

  • Common:
    • ntpd
    • /etc/rc.conf
    • date
  • FreeBSD:
    • /etc/ntp.conf
    • ntpq
  • NetBSD:
    • /etc/ntp.conf
    • ntpq
  • OpenBSD:
    • /etc/ntpd.conf

 

713.4 System Logging (weight: 2)

Weight 2
Description Candidates should be able to review system log files and configure log file rotation.

Key Knowledge Areas:

  • Understand system logging and location of log files.
  • View log files, including ongoing and compressed logs.
  • Configure log rotation by either time or size.

The following is a partial list of the used files, terms and utilities:

  • Common:
    • newsyslog
    • /etc/newsyslog.conf
    • /etc/syslog.conf
    • tail
    • grep
    • zgrep
    • zless
    • zmore
    • dmesg
  • FreeBSD:
    • bzcat
  • NetBSD:
    • bzcat

 

713.5 Mail Transfer Agents (MTA) Basics (weight: 1)

Weight 1
Description Candidates should understand the role of a Mail Transfer Agent and configure aliases and mail forwarding on their local MTA as well as outgoing email using a relay.

Key Knowledge Areas:

  • Understand the role of a Mail Transfer Agent (MTA).
  • Determine which MTA is used on the system.
  • Create an email alias for both Sendmail and Postfix.
  • Configure Sendmail and Postfix to use a relay for outgoing mail.
  • View and flush the mail queue.
  • Understand the difference between the mbox and maildir mail destination file format type.

The following is a partial list of the used files, terms and utilities:

  • Common:
    • /etc/mail/aliases
    • newaliases
  • FreeBSD:
    • /etc/mail/mailer.conf
    • mailq
  • NetBSD:
    • /etc/mailer.conf
    • postalias
    • mailq
    • postqueue
  • OpenBSD:
    • /etc/mailer.conf
    • smtpctl

 

713.6 Manage Printing and Print Jobs (weight: 1)

Weight 1
Description Candidates should understand how printing on a BSD system works and should be able to review the printing queue and manipulate print jobs.

Key Knowledge Areas:

  • Understand the BSD lpr printing system.
  • Understand the meaning of /etc/printcap entries.
  • View the print queue and manipulate the jobs within the queue.

The following is a partial list of the used files, terms and utilities:

  • Common:
    • lpc
    • lpq
    • lprm
    • printcap

 

713.7 Manage User Sessions (weight: 1)

Weight 1
Description Candidates should be able to identify which users are currently logged in to a system and review the history of user logins.

Key Knowledge Areas:

  • Determine who is currently on the system.
  • Determine the last time a user was on the system.

The following is a partial list of the used files, terms and utilities:

  • Common:
    • w
    • who
    • last
    • users
  • FreeBSD:
    • lastlogin
  • NetBSD:
    • lastlogin
    • /var/log/lastlog
  • OpenBSD:
    • /var/log/lastlog

 

Topic 714: Basic BSD Network Administration

714.1 Fundamentals of Internet Protocols (weight: 2)

Weight 2
Description Candidates should understand important network protocols as well as basic IPv4 and IPv6 addressing and subnetting.

Key Knowledge Areas:

  • Understand IPv4 addressing and subnetting.
  • Understand basic IPv6 addressing and subnetting.
  • Convert a subnet mask between dotted decimal, hexadecimal, or CIDR notation.
  • Determine valid host addresses as well as the subnet address and, for IPv4, the broadcast address of a given network.
  • Understand the key features of TCP, UDP and ICMP.

The following is a partial list of the used files, terms and utilities:

  • Common:
    • CIDR
    • Prefix and Interface Identifier

 

714.2 Basic network configuration (weight: 3)

Weight 3
Description Candidates should be able to configure the IP settings of network interfaces.

Key Knowledge Areas:

  • Configure IP settings both temporarily and permanently.
  • Demonstrate a basic understanding of DHCP leases.
  • View the current DHCP lease, release it, and renew a lease.
  • Configure a DHCP client to override the settings received from a DHCP server.
  • Understand and configure interface aliases.
  • Understand IPv6 auto configuration using SLAAC and DHCPv6.

The following is a partial list of the used files, terms and utilities:

  • Common:
    • ifconfig
    • route
    • hostname
    • /etc/hosts
    • dhclient
    • /etc/dhclient.conf
    • /var/db/dhclient.leases
    • /etc/rc.conf
  • NetBSD:
    • /etc/ifconfig.if
    • /etc/ifaliases
  • OpenBSD:
    • netstart
    • /etc/hostname.if
    • /etc/myname
    • /etc/mygate

 

714.3 Basic network troubleshooting (weight: 3)

Weight 3
Description Candidates should be able to analyze and resolve simple network connectivity problems.

Key Knowledge Areas:

  • Determine the current IP configuration of a system.
  • Troubleshoot IPv4 and IPv6 connectivity.
  • Determine which TCP or UDP ports are open on a system.
  • Verify the availability of a TCP/IP service.

The following is a partial list of the used files, terms and utilities:

  • Common:
    • ifconfig
    • netstat
    • route
    • ping
    • ping6
    • traceroute
    • /etc/services
    • telnet
    • nmap
    • nc
  • FreeBSD:
    • sockstat
    • rtsol
  • NetBSD:
    • sockstat
    • rtsol
  • OpenBSD:
    • /etc/hostname.if

 

714.4 Configure Client Side DNS (weight: 2)

Weight 2
Description Candidates should understand the basics of DNS and be able to configure host name resolution.

Key Knowledge Areas:

  • Understand basic DNS theory, including types of resource records, reverse lookups, and types of DNS servers.
  • Query a DNS server for a particular type of resource record.
  • Configure name resolution, including the order of host name resolution and recursive DNS server.
  • Troubleshoot DNS problems.

The following is a partial list of the used files, terms and utilities:

  • Common:
    • host
    • hostname
    • /etc/resolv.conf
  • FreeBSD:
    • drill
    • /etc/nsswitch.conf
  • NetBSD:
    • dig
    • nslookup
    • /etc/nsswitch.conf
  • OpenBSD:
    • dig
    • nslookup

 

Topic 715: Basic Unix Skills

715.1 Use the Shell and Work on the Command Line (weight: 2)

Weight 2
Description Candidates should be able to use and customize a shell and understand the differences between the different shells offered on a BSD system. Candidates should also be able to use manpages.

Key Knowledge Areas:

  • Understand the differences between the standard shells on BSD systems.
  • Be comfortable using the sh, csh, or tcsh shells.
  • View and modify environmental variables, both temporarily and permanently.
  • Redirect input and output to/from files and commands.
  • Use simple and advanced wildcard specifications in commands.
  • Understand the manpage sections and use manpages.
  • Modify shell behavior both temporarily and permanently, including preventing the shell from clobbering existing files and using history substitution.
  • Set command aliases and temporarily bypass a command alias.
  • Run a command multiple times with different arguments for each call.

The following is a partial list of the used files, terms and utilities:

  • Common:
    • sh
    • csh
    • tcsh
    • <
    • >
    • |
    • >&
    • |&
    • tee
    • env
    • file globbing
    •  ?
    • *
    • man
    • intro
    • less
    •  !
    •  !!
    • $
    • xargs

 

715.2 Perform basic file management (weight: 3)

Weight 3
Description Candidates should be able to handle files on a BSD system. This includes identifying the type of files and creating archives of files.

Key Knowledge Areas:

  • Copy, move, and remove files and directories.
  • Recursively copy multiple files and directories.
  • Remove files and directories recursively.
  • Determine if a file is a binary, text, or data file.
  • Using common Unix command line backup utilities.

The following is a partial list of the used files, terms and utilities:

  • Common:
    • cp
    • mkdir
    • mv
    • ls
    • rm
    • rmdir
    • touch
    • dd
    • tar
    • cpio
    • pax
    • cp
    • file

 

715.3 Create, Monitor and Kill Processes (weight: 3)

Weight
Description Candidates should be able to manage processes, including identifying processes with extensive resource usage, prioritizing, and terminating processes.

Key Knowledge Areas:

  • Monitor the system’s workload over the last 1, 5 and 15 minutes.
  • Monitor the virtual memory system, including monitoring swapping and paging activity.
  • View active processes and recognize inordinate CPU usage.
  • Understand the most commonly used Unix signals, including their names.
  • Understand the difference between SIGTERM and SIGKILL.
  • Send a signal to an active process.
  • End a process or change its priority.
  • Start a process in the background, place an existing process into the background, verify if any jobs are currently running in the background, and return a background process to the foreground.

The following is a partial list of the used files, terms and utilities:

  • Common:
    • top
    • ps
    • pgrep
    • pstat
    • systat
    • nice
    • renice
    • kill
    • pkill
    • swapctl
    • uptime
    • w
    • vmstat
    • Shell built-in commands: &, ^Z, jobs, bg, fg, and kill
  • FreeBSD:
    • killall

 

715.4 Use Simple Regular Expressions (weight: 2)

Weight 2
Description Candidates should be able to use simple regular expressions and wildcards to search text in files and streams.

Key Knowledge Areas:

  • Match text patterns when analyzing program output or searching through files.
  • Specify a range of characters within [], specify a literal, use a repetition operator, recognize a metacharacter, and create an inverse filter.

The following is a partial list of the used files, terms and utilities:

  • Common:
    • grep
    • egrep
    • fgrep
    • re_format(7)

 

715.5 Perform basic file editing operations (weight: 2)

Weight 2
Description Candidates should be able to use the vi editor for basic file editing.

Key Knowledge Areas:

  • Edit files using the vi editor.
  • Modify a read-only file or exit vi without saving any edits to the file.

The following is a partial list of the used files, terms and utilities:

  • Common:
    • vi
    •  :w
    •  :wq
    •  :wq!
    •  :q!
    • Dd
    • Y
    • P
    • X
    • I
    • A
    • /
    • ZZ
    •  :set number
    •  :set list

 

715.6 Customize or write simple scripts (weight: 2)

Weight 2
Description Candidate should understand the concept of shell scripting and be able to write simple Bourne shell scripts.

Key Knowledge Areas:

  • Understand the advantages and disadvantages of using a Bourne shell script rather than a csh or bash shell script.
  • Understand the shebang, comments, and script permissions.
  • Use positional parameters, special parameters, and wildcards.
  • Use quotes and backslashes.
  • Use conditions and loops.
  • Troubleshoot a script.

The following is a partial list of the used files, terms and utilities:

  • Common:
    • chmod
    • stdin
    • stdout
    • stderr
    • for
    • while
    • if
    • case
    • exec