Linux system administrators are people who are responsible for
managing IT infrastructures that are powered by Linux. It is one of
the most sought after positions by modern enterprises. Competetive
sysadmins are always in high demand and will get rewarding
workplace benefits. But, what does it take to become a successful
sysadmin? If you’re a seasoned Linux user who wants to try his hand
at system administration, this guide is for you. Today, we will
discuss some of the key aspects of becoming a Linux admin. You will
find out the things a competitive system admin needs to know from
this guide.

Things to Master for Acing a
Sysadmin Position


Experienced system admins can grab one of the highest paying computer science
jobs
[1] very easily. So, if you
want to get hired as a sysadmin, continue reading to find out the
requirements of a modern Linux system administrator. Don’t worry if
you don’t know all of these. Think of them as a reference and start
practicing today.

1. Setting Up The
Environment


As a Linux system admin, you are obliged to set up custom
environments as per corporate requirements. You should be
comfortable at this task since it’s one of the first things most
Linux users do. Although the environment requirements vary from job
to job, you will need to adjust to the task by any means. However,
you will often end up with an already up and running system. Make
sure you tune the system to meet your preferences without
interrupting any required services.

Linux environment

Some essential aspects of environment setup include
partitioning, encryption, BIOS setup, and storage configurations.
Additionally, most companies will follow a strict set of guidelines
for their corporate servers. These include things like network
configurations, security firewalls, IDS configurations, and so on.
The below sections will discuss many of these in detail.

2. Managing Users and
Groups


User management is another major responsibility of a Linux
sysadmin. IT systems usually have a number of users, each with
different roles. Thus, you need to ensure that users can use the
system as intended. Make sure that users don’t have too much or too
little access to the system. Access should be assigned based on the
user’s role, and a solid user policy is mandatory in this
matter.

manage users as Linux system administrator

As a system admin, you will be in charge of creating new users,
setting groups, file permissions, and other user-space attributes.
You also need to ensure that users use strong and secure passwords.
Make sure to set up password expiration as well as the PAM module
and locks on failed logins. You should also incorporate effective
access control strategies by configuring the appropriate setuid,
setgid, and sticky bits.

3. Installing and Configuring
Packages


Linux bundles its applications as packages. By default, most
systems come with a select set of rudimentary tools. However, it’s
the responsibility of the system admin to install all other
required packages as well as configuring and managing them. Package
management takes a significant amount of effort, and thus
professional sysadmins should try to automate the trivial processes
for increasing their productivity.

Package management for Linux system administrator Manage repositories

You should have a well understanding of Linux Cron jobs
alongside standard package managers like apt, dpkg, yum, and
packman. Additionally, Linux system administrators will often need
to install or update packages using repositories. So make sure you
know how that works. If you’re an absolute beginner with little
knowledge of package management, head over to this guide for
learning how to install software in Linux[2], note that configuring
packages often require more work than installation.

4. Linux Shells


The Linux shell[3]
provides a command-based interface to the underlying system. It is
one of the most important things to know if you want to pursue a
career as a sysadmin. Linux supports a large number of shells, both
legacy and contemporary ones. You should at least be proficient at
one of them and have an understanding of some other. Some commonly
used shells for today’s admins include the Bash shell, Zsh, Tcsh,
and Fish.

Linux C shell

Shells interpret commands as well as shell scripts. As a system
admin, you will be in charge of writing different types of scripts.
You should be able to write shell scripts for system maintenance
tasks such as taking backups, monitoring logs, automation, and so
on. We have prepared an earlier guide on Linux shell scripts for helping
beginners to get better at it. [4]

5. Linux Filesystem


The filesystem sits at the core of Linux systems. It is
essential for admins to have an in-depth understanding of the
filesystem and its operations. Since Unix systems emphasize largely
on the filesystem, most system operations are designed to reflect
this. You need to learn about the filesystem hierarchy, different
filesystem types, permissions, and many more. You can’t become a
successful system administrator without mastering the Linux
filesystem.

filesystem-hiearchy

Luckily, there are a lot of good resources out there that teach
the fundamentals of the Unix
filesystem
[5]. If you want to learn
the different filesystem attributes and standard commands, check
out our earlier guide on the Linux filesystem. We also suggest
users read the “The UNIX Programming Environment[6]” by Kernighan &
Pike
. The authors were directly involved in the UNIX project
and provide design ideas and historical insights on the filesystem
in their book.

6. Configuring and Managing
Networks


Linux system administrators are required to have excellent
networking abilities. In fact, many system admins spend most of
their working hours on network configurations and management. You
need to have a detailed understanding of fundamental networking
concepts such as TCP/IP protocols, routing, switching, bridging,
DNS, and so on. You will often be responsible for setting up new
networks as well as managing existing ones.

Example of Linux network scheme

Admins should also be proficient in using standard Linux network tools[7] like ifconfig, ip,
netstat, etc. What tools you use will usually depend on the exact
task. So, sysadmins should be flexible and ready to learn whatever
tools are required. Moreover, having good networking abilities is
not enough. You need to implement the best security practices and
keep your IT infrastructure safe from intruders all the time.

7. Managing Data
Storage


As a system admin, you will be responsible for managing data
storage for your corporation’s IT infrastructure. Data storage is a
broad topic and is extremely crucial. You don’t want to be the one
to mess up sensitive information. That’s why you should be able to
set up appropriate storage solutions and manage them effectively.
Learn the basics of partitioning and disk encryption. You should
also be abler to set up reliable LVM schemes.

Network Storage

You need back up corporate data conveniently and store them for
future usage. Learn the various RAID configuration models and apply
them based on enterprise requirements. Many companies will also
require you to set up network-based storage solutions like NAS and SAN servers. You can find some
of the best NAS and SAN solutions for Linux from our earlier guide.
Moreover, admins should also be able to implement robust disk
monitoring systems. [8]

8. Virtualization
Technologies


Every major corporation these days use virtualization of one
form or another. So, a Linux system administrator should be fairly
comfortable working with this technology. In simple terms,
virtualization refers to the ability to run multiple operating
system instances on a single physical machine. It not only reduces
hardware costs but also makes scaling systems easier.

Virtualization for Linux system administrators

There are primarily two ways to implement virtualization. The
first method utilizes hypervisors-based Virtual
Machines
[9]. These act as standalone
systems but uses a considerable amount of CPU resources. The second
method uses containerized technologies like LXC and Docker, to
provide OS-level abstractions. This allows companies to run
hundreds, even thousands of different services on a single machine.
System admins are expected to have a working knowledge of both
technologies.

9. Managing Backups


Data is the driving factor to success, and modern enterprises
deal with a large amount of varying data. As a sysadmin, you will
be responsible for securing this data. The first step for securing
data is taking backups. You need to be familiar with standard backup utilities for Linux as
well as commonly used backup policies. Many companies use some sort
of paid backup solution for bootstrapping
the backing process. [10][11]

Bacula backup software

When it comes to creating and managing enterprise backups, you
need to consider things like the backup medium, software, and
policies. You need to devise a plan that keeps the hardware costs
low but still provides optimal backing opportunities. If you’re
relatively new in this field, make yourself familiar with simple
backup methods. Learn using the tar utility, multi-level backups,
compressed backups, and automation policies.

10. Disaster
Recovery


If you’re working in a small to medium-sized office, chances are
you’ll be responsible for additional workload alongside system
administration. Many growing companies do not employ dedicated
disaster recovery professionals and rely on the sysadmin to provide
support in case of service disruption. So, you should have a
concise idea of various disaster recovery models that are used in
the IT industry.

For starters, you should be able to ensure the integrity of data
and services across the organization. This requires planning ahead
and implementing IT assessment policies that are feasible, both
financially and technically. Admins should be capable of
identifying potential disruptions very fast and be ready to get the
services running within minutes. You can always perform and analyze
disaster simulations to learn how to restore services as fast as
possible.

11. Security
Management


Security is one of the most crucial aspects of any IT job. Linux
system administrators need to ensure the security of their
enterprise infrastructure by any means. There are many things
related to security in the IT world. From user authentication to
web servers, vulnerable services to malicious attackers, there’s a
lot to deal with. The first rule of managing corporate security is
to implement proven Linux hardening methods. [12]

Kerberos administration

Sysadmins should be able to identify and patch up broken
services before they lead to escalation. Although the latest
updates of many packages offer newer features, they’re often
unstable. So you should stick with stable versions instead. Network
security is another major responsibility of a sysadmin. Try to
implement rock-solid IP security by utilizing the Linux IPtables[13] as well as IDS/IPS
tools. Check our guide on some of the best open-source security tools for
Linux
[14].

12. Hardware
Management


Many corporations do not invest in a full-time computer
technician and solely rely on the sysadmin for hardware management.
This is especially true for professionals working in small, growing
businesses. If you ever find yourself in this place, you should be
prepared to tackle solve the issues smartly. Luckily, most
sysadmins are more than capable of identifying hardware problems as
soon as they occur.

Moreover, you don’t need to replace any faulty hardware or fix
them by yourself. Simply notify the administration about the faulty
components and suggest some viable alternatives. Overall, in-depth
knowledge of your systems’ hardware resources is the key to such
problems.

13. Memory
Management


Although today’s systems do not have the resource limitations of
legacy machines, admins need to get the most out of their systems.
Memory management is an essential task for every Linux system
administrator. You should have a clear idea of various memory
management features of the kernel. This includes a working
knowledge of virtual memory, paging, process address space, memory
mapping, NUMA policies, and so on.

memory management basics

You should be able to create and allocate swap spaces as
required. Sometimes you will be even sharing the swap across
different operating systems. So, learn more about swap as well as
the buffer cache and virtual memory. Memory management becomes much
more crucial when you are working with resource-constrained
platforms. Thus, you should be ready to handle any memory-related
issues in your IT environment.

14. Automation


Automation has become a major part of modern IT jobs. Sysadmins
are also embracing this to level up their game. Efficient
automation makes working hours more productive and takes away
repetitive tasks. Additionally, recent advances in DevOps have
pushed sysadmins to take automation seriously than ever. You should
be familiar with Linux Cron jobs[15] as well as shell
scripting by now. You can automate many aspects of your works using
these simple tools.

To be able to automate your tasks better, you must have a keen
eye for locating patterns. Try breaking down tasks into categories
and devise a solution to tackle them individually. Functional
automation can be easily refactored and offer future customization
abilities. One proven automation model is to lay out the tasks at
hand in terms of a trigger, action, and schedule. We also suggest
you learn professional automation tools like ansible.

15. Troubleshooting


As a Linux system administrator, you will spend considerable
time solving seemingly unnecessary problems. This is
troubleshooting, an integral part of system administration no
matter what your Linux distribution of choice is.
People get better at troubleshooting with experience. This is why
companies pay top money for senior sysadmins. They usually know why
certain problems are happening and the quickest route to fix the
underlying issues. [16]

troubleshooting tools in Linux

Troubleshooting is one of those areas where many starting users
feel uncomfortable. The only way to increase your problem-solving
capabilities is to spend more time behind your craft. The more you
use a system, the more problems you face. Luckily, each time we
solve a new issue, we can use it as a reference to similar problems
in the future. This is why we suggest beginners complete practical Linux certifications or
courses
[17].

16. Monitoring


Monitoring the system, as well as the network, is a routine task
for any professional system admin. If you want to succeed, you need
to be careful about your credibility. Effective monitoring allows
admins to keep ahead of potential screw ups’ and solve issues as
soon as possible. IT professionals use several monitoring methods.
You should automate repetitive tasks like monitoring logs and
emails. Things like networking require more care since even the
simplest of issues here can disrupt hours of business services.

Other things to monitor include user activities, filesystem,
memory, CPU usage, etc. Luckily, a large number of robust monitoring
tools
are available to help you with this. Tools like top/htop
make resource monitoring easier while you can use the Linux df command for monitoring the
filesystem. [18][19]

17. Documentation


Documentation is a big part of a sysadmin’s work. It plays a
pivotal role in determining your success as a Linux system
administrator. However, many people find it hard to document their
role and changes in infrastructure, especially starters. There are
different types of documentation, such as public-facing
documentation and internal or organizational documentations. We
will stick our discussion to the latter.

documenting tasks of Linux system administrator

Sysadmins should document their network configurations as well
as technical details clearly. Corporations demand this so that
future recruits can work on existing systems without extra hassle.
Additionally, in-depth documentations allow admins to solve
upcoming disruptions. Documentation methods vary from person to
person. I like to categorize my staff into sections. Some common
parts of my documentation include network information, resources,
third-party tools, commands, and support information.

18. Communication


Effective communication is essential for succeeding in any
profession. However, IT professionals often find it hard to engage
with co-workers, especially with non-technical persons. Many
sysadmins will tell you that communicating with the HR or business
people is much more difficult than the actual technical work. This
can be frustrating and may disrupt your job satisfaction. That’s
why you need to increase your communication efforts.

The key to effective communication is knowing your audience.
People with no technical background will hardly understand why
something is broken and why you are insisting on a specific model.
You need to talk with them using the language they understand. It
can be tough if you’re not good with people. However, like almost
anything, your communication skill only gets better as you try.

19. Education


Like any other computer science jobs, sysadmin positions require
some specific educational qualification. Most companies will likely
ask for a bachelor’s degree in CS or a related field. This
demonstrates the candidates’ ability to perform systems programming[20] as well as networking,
database management, and so on. Some corporations may even ask for
a master’s degree, especially for high paying positions.

However, don’t feel down if you’re a self-taught sysadmin or
have no institutional degree. IT companies usually prefer people
with skills rather than degrees. I know a lot of professional
admins who used have come to the Linux world from entirely
unrelated fields. No matter what your study background is, if you
can meet the technical requirements for a position, you are highly
likely to get the job.

20. Certifications


Certifications can play a pivotal role in the career of a Linux
system administrator. It is especially crucial for starting admins.
If you have no prior job experience, you need to prove your
credibility to potential employers. This is where certifications
come in handy. A widely accepted Linux certification demonstrates
your ability to tackle everyday IT problems. Moreover, many senior
sysadmin positions explicitly demand certain certifications.

certifications for Linux system administrator

Some of the best certifications for beginners include the
various Red Hat Certifications[21] as well as CompTIA[22] and LPIC[23] ones. We suggest the
RHCSA (Red Hat Certified System Administrator) or RHCE (Red Hat
Certified Engineer) for people looking for their first sysadmin
job. Senior admins can choose from a number of specialized courses
like the Microsoft Certified Solutions Expert (MCSE) or Offensive
Security Certified Professional (OSCP).

Ending Thoughts


Linux system administrator jobs have changed significantly in
the last decade. Modern sysadmins need to possess not only
technical skills but also interpersonal capabilities to succeed in
this demanding industry. Moreover, with the emergence of new
technologies as well as trends, they must adapt to the change.
Luckily, you can go a long way in this field if you have a solid
understanding of the core skills. Our editors have prepared this
guide outlining the 20 things that will help you land a rewarding
sysadmin job. You need to keep putting your effort, and you will be
there in no time.

References

  1. ^
    highest
    paying computer science jobs

    (www.ubuntupit.com)
  2. ^
    how to
    install software in Linux

    (www.ubuntupit.com)
  3. ^
    The
    Linux shell
    (www.ubuntupit.com)
  4. ^
    Linux
    shell scripts
    (www.ubuntupit.com)
  5. ^
    fundamentals of the Unix filesystem
    (www.ubuntupit.com)
  6. ^
    The UNIX
    Programming Environment
    (www.ubuntupit.com)
  7. ^
    standard
    Linux network tools
    (www.ubuntupit.com)
  8. ^
    NAS and
    SAN servers
    (www.ubuntupit.com)
  9. ^
    hypervisors-based Virtual Machines
    (www.ubuntupit.com)
  10. ^
    standard backup utilities for
    Linux
    (www.ubuntupit.com)
  11. ^
    paid
    backup solution
    (www.ubuntupit.com)
  12. ^
    proven
    Linux hardening methods
    (www.ubuntupit.com)
  13. ^
    the
    Linux IPtables
    (www.ubuntupit.com)
  14. ^
    best
    open-source security tools for Linux

    (www.ubuntupit.com)
  15. ^
    Linux
    Cron jobs
    (www.ubuntupit.com)
  16. ^
    your
    Linux distribution of choice is

    (www.ubuntupit.com)
  17. ^
    practical Linux certifications or
    courses
    (www.ubuntupit.com)
  18. ^
    a
    large number of robust monitoring tools

    (www.ubuntupit.com)
  19. ^
    the
    Linux df command
    (www.ubuntupit.com)
  20. ^
    perform systems programming
    (www.ubuntupit.com)
  21. ^
    various Red Hat Certifications
    (www.ubuntupit.com)
  22. ^
    CompTIA
    (www.comptia.org)
  23. ^
    LPIC
    (www.lpi.org)

Read more