Americas

  • United States
sandra_henrystocker
Unix Dweeb

Essential responsibilities of a Linux sysadmin

How-To
Feb 08, 20245 mins
CareersLinux

Installing and updating the OS, managing user accounts, and looking after security are just a few of the primary responsibilities of a Linux systems administrator.

Working on a laptop
Credit: Shutterstock

While I don’t imagine that I’ll ever tire of “playing” on the Linux command line – where “playing” implies enjoying how easily I can get a lot of work done by stringing commands together or creating scripts – I’ve spent the bulk of my career as a systems administrator, and this role involves a significant array of responsibilities.

I started my computer career as a programmer helping to automate criminal code (Title 18) so that the larger federal courts could better manage their criminal cases – a challenge that became more important after the Speedy Trial Act limited how long they had to file an indictment, charge a defendant, and commence a trial. I then moved into administering Unix systems.

When I was first introduced to Linux, I thought it an interesting novelty. A potentially free OS with open source code? The idea was intriguing, but I had my doubts about how well it would work over time. Yet it wasn’t long before I found myself moving into administering Linux systems as my primary job, and I then spent several decades doing just that. In this post, I’ll detail what I see as the primary responsibilities of this role.

Know your Linux commands

Even before you get started managing a Linux server that will be used by others, you should be well versed not only in basic Linux, but also in commands and tools that anyone managing a Linux server needs to use – to set up and manage user accounts, install updates, detect problems, install apps, write scripts, manage backups, ensure system security, etc.

One “cheat sheet” that I put together is available at Linux command cheat sheet. You can also find a variety of Linux cheat sheets at the FOSS (Free and Open Source) site: FOSS Linux Cheat Sheets

Installing and updating the OS

As a Linux sysadmin, you are likely to find yourself both installing Linux on new systems and doing periodic upgrades to keep systems secure and up-to-date – patches and improvements included. On some Linux systems (like Fedora), you can configure automatic updates so that you don’t have to keep track of when upgrades will be available. Here’s a post that can help you determine when package upgrades are available: Commands to find Linux package updates

Regardless of what version of Linux you will be supporting, it’s important to know whether upgrades will be applied automatically or if you have to invoke the command to get them started.

Managing user accounts

As a Linux sysadmin, you will also need to be able to set up accounts for users, assign user groups if the group associated with their username is not sufficient, ensure they use relatively secure passwords, and be ready to lock accounts if and when they leave the organization (e.g., account contents may need to be made available to a different individual, such as the person’s boss or replacement). You also will need to require that users update their passwords periodically. Check out: Viewing and configuring password aging

Become familiar with the tools or applications that each user needs access to, and determine whether any of the system’s users will need sudo access to run privileged commands. Keep in mind that sudo access can be restricted to particular commands. See this post for more: Building command groups with sudo

Securing your Linux server

You should also be familiar with a series of commands for checking system security and knowing how to spot potential problems. The essential security commands for Linux post might help with this.

Checking log files

You should be familiar with the contents of various system log files and learn to spot messages that warn about problems. View the post, How to manage logs in Linux, for help with this.

Running backups

Every Linux system should be periodically backed up to prevent inadvertent loss of important data. Generally, Linux systems are backed up overnight when no one is using them and no important processes are making changes to the system.

Scripting

To make your work easier and more reliable, you should capture some of your insights about how to best get tasks done and verify that everything worked as expected into scripts. The posts listed below offer some help, especially for beginner scripters.

Getting started with scripting on Linux
Testing variables in scripts
Watching activity of Linux with watch and tail commands
Monitoring activity on Linux

Wrap-up

I truly hope that you will enjoy the flexibility and power of Linux as much as I do. If you’ve missed any of my posts, you can run through a list of them by going to Linux posts

sandra_henrystocker
Unix Dweeb

Sandra Henry-Stocker has been administering Unix systems for more than 30 years. She describes herself as "USL" (Unix as a second language) but remembers enough English to write books and buy groceries. She lives in the mountains in Virginia where, when not working with or writing about Unix, she's chasing the bears away from her bird feeders.

The opinions expressed in this blog are those of Sandra Henry-Stocker and do not necessarily represent those of IDG Communications, Inc., its parent, subsidiary or affiliated companies.