Skip to content

BSD Specilist Topics

  • BSD Installation and Software Management
  • Storage Devices and BSD Filesystems
  • Basic BSD System Administration
  • Basic BSD Network Administration
  • Basic Unix Skills


Prerequisites

There is no prerequisite certification for taking the BSD Specialist Engineer exam.

Why take the BSD
The exam focuses on the practical skills required to work successfully in a FreeBSD, NetBSD or Open BSD environment and tests the knowledge and skills needed to administer BSD operating systems.

Primary jobs for BSD Specialists

  System Administrators

  • FreeBSD System Administrator
  • NetBSD System Administrator
  • OpenBSD System Administrator
  • Unix Administrator
  • Server Administrator
  • IT Administrator


  Engineers

  • Security System Specialist
  • Network Engineer
  • Unix System Engineer
  • DevOps Engineer
  • Site Reliability Engineer (SRE)


Who is a BSD specialist?

A BSD specialist certification holder is a system administrator of BSD operating Systems.The certification holder has an understanding of the architecture of BSD operating systems.
This includes the ability to manage various aspects of a BSD installation, including the management of user accounts and groups, processes, file systems,installed software and client networking configuration.The candidate is experienced in using standard BSD and Unix tools on the command line.

Topic 711: BSD Installation and Software Management
711.1 BSD Operating System Installation (weight: 3)
Weight: 3
Description: Candidates 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:
      o uname
  • FreeBSD:
     o bsdinstall
     o freebsd-update
  • NetBSD:
     o sysinst
  • OpenBSD:
     o 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:
     o make
  • FreeBSD:
     o pkg install
     o pkg delete
     o pkg info
     o pkg upgrade
  • NetBSD:
     o pkg_admin
     o pkg_add
     o pkg_delete
     o pkg_info
  • OpenBSD:
     o pkg_add
     o pkg_delete
     o 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:
    o boot(8)
    o rc
    o /etc/rc.conf
    o /etc/rc.d/
    o inetd
    o shutdown
 • FreeBSD:
    o service
 • NetBSD:
    o service
 • OpenBSD:
    o 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:
    o dmesg
    o /boot/loader.conf
  • FreeBSD:
    o camcontrol
    o devinfo
    o pciconf
    o kldstat
    o kldload
    o kldunload
  • NetBSD:
    o atactl
    o pcictl
    o scsictl
    o modstat
    o modload
    o modunload
  • OpenBSD:
    o atactl
    o 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:
    o init
    o sysctl
    o /etc/sysctl.conf
  • OpenBSD:
    o config
    o /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:
    o fdisk
    o disklabel
  • OpenBSD:
    o 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:
    o newfs
    o fsck
    o du
    o df
  • FreeBSD:
    o zpool
  • NetBSD:
    o 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:
    o mount
    o umount
    o /etc/fstab
    o df
  • FreeBSD:
    o zfs
  • NetBSD:
    o 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:
    o chown
    o chgrp
    o ls
    o chmod
    o 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:
    o ln
    o ls
    o 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:
     o whatis
     o whereis
     o which
     o locate
     o locate.updatedb
     o find
     o 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:
    o adduser
    o passwd
    o chpass
    o chfn
    o chsh
    o vipw
    o nologin
    o id
groups
    o who
    o whoami
    o su(1)
    o /usr/share/skel/
  • FreeBSD:
    o pw
    o rmuser
  • NetBSD:
    o user
    o useradd
    o userinfo
    o usermod
    o userdel
  • OpenBSD:
    o user
    o useradd
    o userinfo
    o usermod
    o userdel
    o 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:
    o crontab
    o cron
    o crontab
    o /var/cron/allow
    o /var/cron/deny
  • FreeBSD:
    o /etc/defaults/periodic.conf
    o periodic
  • NetBSD:
    o /etc/daily.conf
    o /etc/weekly.conf
    o /etc/monthly.conf
    o /etc/security.conf
  • OpenBSD:
    o daily
    o weekly
    o 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:
    o ntpd
    o /etc/rc.conf
    o date
  • FreeBSD:
    o /etc/ntp.conf
    o ntpq
  • NetBSD:
    o /etc/ntp.conf
    o ntpq
  • OpenBSD:
    o /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:
    o newsyslog
    o /etc/newsyslog.conf
    o /etc/syslog.conf
    o tail
    o grep
    o zgrep
    o zless
    o zmore
    o dmesg
  • FreeBSD:
    o bzcat
  • NetBSD:
    o 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:
    o /etc/mail/aliases
    o newaliases
  • FreeBSD:
    o /etc/mail/mailer.conf
    o mailq
  • NetBSD:
    o /etc/mailer.conf
    o postalias
    o mailq
    o postqueue
  • OpenBSD:
    o /etc/mailer.conf
    o 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:
    o lpc
    o lpq
    o lprm
    o 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:
    o w
    o who
    o last
    o users
  • FreeBSD:
    o lastlogin
  • NetBSD:
    o lastlogin
    o /var/log/lastlog
  • OpenBSD:
    o /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:
   o CIDR
   o 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:
    o ifconfig
    o route
    o hostname
    o /etc/hosts
    o dhclient
    o /etc/dhclient.conf
    o /var/db/dhclient.leases
    o /etc/rc.conf
  • NetBSD:
    o /etc/ifconfig.if
    o /etc/ifaliases
  • OpenBSD:
    o netstart
    o /etc/hostname.if
    o /etc/myname
    o /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:
   o ifconfig
   o netstat
   o route
   o ping
   o ping6
   o traceroute
   o /etc/services
   o telnet
   o nmap
   o nc
  • FreeBSD:
   o sockstat
   o rtsol
  • NetBSD:
  o sockstat
  o rtsol
 • OpenBSD:
  o /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:
   o Common:
   o host
   o hostname
   o /etc/resolv.conf
 • FreeBSD:
   o drill
   o /etc/nsswitch.conf
 • NetBSD:
   o dig
   o nslookup
   o /etc/nsswitch.conf
 • OpenBSD:
   o dig
   o 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:
   o sh
   o csh
   o tcsh
   o < o >
   o |
   o >&
   o |&
   o tee
   o env
   o file globbing
   o ?
   o *
   o man
   o intro
   o less
   o !
   o !!
   o $
   o 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:
   o cp
   o mkdir
   o mv
   o ls
   o rm
   o rmdir
   o touch
   o dd
   o tar
   o cpio
   o pax
   o cp
   o file

715.3 Create, Monitor and Kill Processes (weight: 3)
Weight: 3
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:
   o top
   o ps
   o pgrep
   o pstat
   o systat
   o nice
   o renice
   o kill
   o pkill
   o swapctl
   o uptime
   o w
   o vmstat
   o Shell built-in commands: &, ^Z, jobs, bg, fg, and kill
  • FreeBSD:
   o 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:
   o grep
   o egrep
   o fgrep
   o 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:
   o vi
   o :w
   o :wq
   o :wq!
   o :q!
   o Dd
   o Y
   o P
   o X
   o I
   o A
   o /
   o ZZ
   o :set number
   o :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:
   o chmod
   o stdin
   o stdout
   o stderr
   o for
   o while
   o if
   o case
   o exec