In this new open source career series, we’ll be highlighting the skills and duties required for an array of open source job titles. If you’re new to Linux or open source or just getting started in your IT career, these articles will offer insight and information about the many and varied job roles that are available – from straight-up development or operations roles to marketing and project management.
In this article, we’ll look at the role of a system administrator, including general responsibilities, expected skills, and daily duties, and we’ll provide information about ways in which you can learn more and take the next steps on your open source journey.
Definition, Roles, and Responsibilities
Let’s start with a general definition. According to Wikipedia, a system administrator, or sys admin, is responsible for the upkeep, configuration, and reliable operation of computer systems. Sounds great, right? That broad definition tells us in general terms what’s expected. But what does it mean in terms of specific skills and duties? To answer that, let’s look more closely at those requirements and responsibilities.
According to Field Engineer, “the System Administrator takes care of the user accounts, permissions, access rights, and storage allocations. They offer technical support and troubleshoot any hardware and software problems related to server and storage devices.” Additionally, they may handle issues involving application and server operations. They also research and maintain current knowledge of products and industry standards in support of system maintenance and development efforts.
A sys admin’s role may also vary widely by company, industry, and level of seniority. Generally, however, a system administrator’s duties will include the following:
- Set up and maintain user accounts; perform password and identity management
- Perform or oversee helpdesk support efforts
- Install, configure, and maintain servers and networks
- Monitor and maintain servers
- Monitor and troubleshoot system and network performance, including capacity and storage planning, and database performance
- Perform system updates (including software updates)
- Create and implement system and network usage policies
- Create and implement a backup and recovery policy, perform regular backup operations and define processes for data protection, disaster recovery, and failover procedures
- Create and implement security policies
- Create and maintain documentation
Other Skills and Experience
Other required skills and experience for the position of system administrator may include:
- Experience with databases, networks, and patch management
- Knowledge of system security and data backup/recovery
- Ability to create scripts in Python, Perl, or other languages
- Familiarity with various operating systems and platforms
- Resourcefulness and problem-solving aptitude
- Excellent communication skills
According to Glassdoor, the qualifications may include:
- Associate or Bachelor's degree in computer science, information technology, system administration, or equivalent experience
- 3-5 years of related system, network, or database administration experience
- System administration and/or IT certifications
- Working knowledge of virtualization tools
- Strong knowledge of systems and networking software, hardware, and networking protocols
- Experience with scripting and automation tools
Training and Certification
Many training and certification options are available online to help you acquire the necessary skills and experience. Additionally, certification may serve to validate your skills to a potential employer, may result in higher pay, and may be required by some organizations to meet employment qualifications. There are many different types of certifications to consider, ranging from the general to the specific.
Linux Professional Institute (LPI) offers the Linux Administrator certification (LPIC-1) as the first certification in their series. According to the site, this certification serves to validate proficiency in real-world system administration. To become LPIC-1 certified, you must:
- Understand the architecture of a Linux system
- Install and maintain a Linux workstation, including X11, and set it up as a network client
- Work at the Linux command line
- Handle files and access permissions as well as system security
- Perform easy maintenance tasks, such as adding users, backup and restore, shut down and reboot.
The Linux Foundation Certified System Administrator (LFCS) certification, for example, is a general competency test aimed at those who are just getting started in Linux system administration or open source. According to the website, the exam consists of “performance-based items that simulate on-the-job tasks and scenarios faced by sysadmins in the real world,” which fall into several broad skill categories:
- Essential commands
- Operation of running systems
- User and group management
- Service configuration
- Storage management
The Red Hat® Certified System Administrator (RHCSA) site offers a more specific list of tasks a sys admin should be able to perform to meet certification requirements:
- Understand and use essential tools for handling files, directories, command-line environments, and documentation
- Operate running systems, including booting into different run levels, identifying processes, starting and stopping virtual machines, and controlling services
- Configure local storage using partitions and logical volumes
- Create and configure file systems and file system attributes, such as permissions, encryption, access control lists, and network file systems
- Deploy, configure, and maintain systems, including software installation, update, and core services
- Manage users and groups, including use of a centralized directory for authentication
- Manage security, including basic firewall and SELinux configuration
You may also want to research and consider specialty certifications in networking, cloud computing, security, or other areas.
You can learn more about becoming a sys admin and find tutorials and practical guidance to help you build or improve your skills in the resources below.
- ADMIN magazine provides tutorials, reviews, technology overviews, case studies, news, and other topics.
- Enable Sysadmin covers technology concepts, software and applications, solutions, scripting, programming languages, and more.
- UNIX and Linux System Administration Handbook (5th Edition) by Evi Nemeth, Garth Snyder, Trent R. Hein, Ben Whaley, and Dan Mackin. This book is the “definitive guide to installing, configuring, and maintaining any UNIX or Linux system.”
- The Practice of System and Network Administration (3rd Edition) by Thomas A. Limoncelli, Christina J. Hogan, and Strata R. Chalup describes the essential practices of system administration.
- Reddit Sysadmin index offers many links that serve as a starting point to learn more about becoming a sysadmin.