System administration

Become a better system administrator by learning how to apply Linux security, shell scripting, and generic Linux concepts.

Pacman cheat sheet

Cheat sheet for using the pacman package manager on Linux systems, including common tasks that are to be performed with pacman.

How to reload or restart a systemd service?

Services that are controlled with systemd can be reloaded or restarted depending on their configuration. Use systemctl to perform the related restart tasks.

How to check if a systemd service is enabled?

Systemd units can be enabled or disabled based on multiple factors, such as meeting specific dependencies. Learn how to see if a systemd service is enabled.

How to set environment variables in a systemd unit?

Systemd units can be configured to contain environment variables and passed along to the underlying application. Learn how to configure this unit setting.

/etc/resolv.conf

The /etc/resolv.conf file is usually a regular file or a symbolic link to a regular file, defining which servers are used for DNS requests.

/dev/random

The /dev/random file is a special character file on Linux that provides random data from the Linux kernel random number generator.

How to see the SSH log?

SSH logs authentication attempts, but where? Find your SSH log file with these tips, such as in /var/log/auth.log or in the systemd journal.

How to download a package with apt without installing it?

The apt package manager can be used to download a package file without actually installing it. See how the download subcommand is used to achieve this.

How to test the sshd configuration for configuration errors?

A healthy service should not have configuration issues. Perform a configuration test of the SSH daemon (sshd) by first running it using the '-t' option.

How to see the dependencies of a package with apt?

Learn how to see the dependencies of a package that is to be installed or already installed on the system using the apt package manager.

How to remove a package with apt?

Learn how to remove previously installed packages on a Linux system using the apt package manager, such as Debian and Ubuntu.

How to remove unused packages with apt?

Learn why and how packages may become unnecessary on Linux and how to remove them with the apt package manager on systems like Debian and Ubuntu.

How to verify a systemd unit for errors?

Learn how to troubleshoot issues with systemd units by verifying the unit files for any errors. One of the tools to help is systemd-analyze.

Why does systemctl list-units show units as 'not-found'?

Troubleshoot issues like units being marked as 'not-found' in the output of systemctl list-units. This articles help with the steps to take.

How to see active systemd timers

Systemd timers are scheduled tasks for Linux systems. Show timer information with the systemctl command such as status, last execution, and its schedule.

Set default file permissions on Linux with umask

Learn how to use umask to set the default file permissions in Linux. We look at examples, including how and where to implement them.

What is the difference between /dev/random and /dev/urandom?

Learn the difference between Linux kernel random sources /dev/random and /dev/urandom, and when to use which one. Spoiler: probably /dev/urandom.

How to clear systemd journal logs by time

Learn how to use the journalctl command to query the disk usage of the journal logs and how to clean or trim them by number, size, or age.

How to monitor disk activity (I/O) on Linux

Got a busy Linux systems and wondering what the culprit is? Learn how to monitor them and focus on disk activity with tools like iotop, sar, vmstat, or iostat.

How to see the file type on Linux

The file command is a powerful tool for Linux users. Learn how to see the file type of normal and special files on a Linux system.

How to see the size of a file

File systems on Linux store a lot more than just the data itself. Learn how to see the size of a file on Linux systems using the ls or stat command.

How to display directory contents sorted by modification time

Learn how to sort the output of the ls command and list a directory contents by its modification time. Here is which options to use.

How to schedule a periodic task with systemd

Linux systems using systemd, use timers to schedule a repeating task. Learn how to configure these systemd timer units and fine-tune them.

Systemd-analyze

The command systemd-analyze helps analyzing systemd components to optimize the system including performance and security.

How to check if systemd is being used or active

Want to know if systemd is used on your Linux distribution? Learn how to quickly confirm that systemd is being used as your system and service manager.

How to add a SSH key to the SSH agent

Learn how to load and use your SSH key together with a SSH agent. This frequently asked question will explain the usage of ssh-add and ssh-agent.

How to see all enabled services with systemctl

Linux systems using systemd have the systemctl command available that can be used to show all service units, including a filter for only those that are enabled.

Troubleshooting a failed systemd unit (with examples)

Systemd units may be shown in a failed state if something goes wrong. Learn how to troubleshoot these failed units, possible causes, and how to resolve them.

What does systemctl daemon-reload do?

When making changes to systemd unit files, you may need to use systemctl daemon-reload. This article explains why and what happens next.

How to check if 'systemctl daemon-reload' is needed

When systemd units are changed, a 'systemctl daemon-reload' might be needed. Need to know why? We can find the relevant units with some scripting.

How to see which syscalls are part of a systemd syscall filter set

Systemd units can be filtered using the SystemCallFilter setting. Learn how to see what syscalls are part of a particular syscall filter set.

Systemd syscall filtering

Learn more about the system calls (syscalls) that systemd may use in commands and unit files, such as with SystemCallFilter property.

What is the difference between systemctl disable and systemctl mask?

Want to disable a systemd service unit, but wondering the difference between systemctl disable and systemctl mask? This article explains the differences.

How to use systemctl edit to change a service?

Systemd allows customizing services with overrides. Learn how to edit an existing systemd service unit with the systemctl edit command.

How to see only running services with systemctl

Linux systems using systems may use the systemctl command to query services. Use a filter to reduce its output and only show all running services.

Run0 cheat sheet

Systemd version 256 introduced the run0 command to run privileged commands. Learn how to get everything out of run0 tool and replace sudo.

Run0: introduction and usage

Learn how to use the run0 command part of systemd, its purpose, and how to use it for elevating privileges to run privileged tasks.

How to disable the background color of run0

The background color of run0, part of systemd, can be changed with the '--background' option. This way another color can be configured instead of its default.

How to see memory usage of a service with systemctl?

The systemctl command can be used to show the memory usage of a service managed by systemd. Use the subcommand 'status' to find the details about a unit.

How to see the active settings of a systemd unit

Linux systems using systemd can use the systemctl command to show the all applied unit settings. This can be used on units like a service.

How to override the settings of a systemd unit

Systemd units have their own configuration file. The systemctl 'edit' command can be used to override settings of a systemd unit, including services.

Hardening nginx with systemd security features

Secure your nginx service by using security features provided by systemd. We have a look at the available options that systemd units can offer.

Systemd features to secure units and services

Systemd has a wide set of unit settings available that can be used to secure units and system services. Learn which ones and how to implement them.

How to see the cgroup of a process

Control groups allocate resources to a set of processes. Learn how to find the control group (cgroup) of a process by using /proc, pidof, or ps.

How to see cgroup in ps output

Want to see the control group in the output of the ps command? Here is how to tune your command options to include that.

How to see the time synchronization details with timedatectl

Linux systems running systemd can use the timedatectl command to show time synchronization details. Learn how to use it, including its subcommands.

How to show the systemd machine ID

Linux systems using systemd store an unique identifier called the machine ID. Find this value using the hostnamectl command that comes with systemd.

How to see the dependencies of a systemd unit

The systemctl command has the list-dependencies option to show dependencies between units. But there are more options to query a little bit more information.

How to see the available systemd unit types

The systemctl command can be used to show all available systemd unit types. Here is how to find the available types and to select them.

How to see all active systemd units of one type

Linux systems using systemd have the systemctl command available to show all active systemd units of one particular type using the '--type' option.

How to limit the disk usage of the systemd journal

Learn how to define the maximum size that the systemd journal daemon may use on Linux systems for storing journals and limit its disk usage.

How to see the size of the systemd journal

Use the journalctl command to show the size of the systemd journal logs. In this article we look how journalctl vacuuming works.

How to see kernel messages with journalctl

Linux systems using systemd store kernel events in the journal logs. Show these entries with the '--dmesg' or '-k' option, optionally with a date.

What is a systemd unit?

Systemd units define resources, such as a service, path, socket, or timer. They are usually managed with the systemctl command.

How to see only recent journal entries

Linux systems with systemd use journal to store log entries. Learn how to filter these journal entries by specifying a date or time interval.

How to see new log entries automatically with journalctl

Learn how to continuously show new log entries on Linux systems using systemd with the journalctl command. The behavior will be like the 'tail -f' command.

How to see logging for a specific unit or service

Linux systems with systemd store log entries in a journal. Limit the number of log entries from the journal by filtering journalctl output by unit.

How to reload the systemd configuration

When changes are made to systemd unit files, such as service files, the systemd daemon needs to be reloaded. Use the daemon-reload subcommand to reload.

What is systemd?

Systemd is a system and service manager on Linux distributions to start, stop, and monitor system services. Learn about systemd is and the main components.

What is a masked systemd unit?

Systemd units that are in a masked state are administratively disabled. While being in this state, they can not be started until they are unmasked.

Systemd commands

Running a Linux system with systemd? Here is all commands related to systemd in one overview. Learn about their purpose and when to use them.

SSH ProxyJump option

Learn about the SSH client option ProxyJump, that allows using a bastion host or jump server to connect to other systems.

SSH ForwardAgent option

Secure SSH connections and learn about the ForwardAgent option, the available values, relevant security risks, and how to configure it.

What is SSH agent forwarding?

The agent forwarding feature in SSH allows using your local SSH agent to be reached through an existing SSH connection. Learn when and how to use it.

How to start the SSH agent?

The OpenSSH agent helps with authentication by making SSH keys available. Learn how to start the SSH agent when it is not running on your Linux system.

What is the purpose of the SSH agent?

The SSH agent is a helper utility to temporarily store private keys when using public key authentication. Learn more about how this helps during daily tasks.

How to disable the usage of the SSH agent

The SSH agent can be used to simplify authentication. As that is not always preferred behavior, we can disable the SSH agent when authenticating.

SSH IdentityAgent option

OpenSSH can be configured to use an alternative SSH agent, or even none. Learn about the IdentityAgent option, available values, and how to configure it.

/etc/ssh/ssh_config

The configuration file /etc/ssh/ssh_config contains settings related to the OpenSSH client. Learn more about this file its configuration.

SSH client configuration

Linux systems are usually managed remotely with SSH. Learn how to configure and optimize the SSH client and improve its security.

SSH configuration files

OpenSSH can be configured on the server and client. Learn about the locations where SSH client settings are configured and what precedence they take.

How to show all installed packages with pacman

On Linux systems such as Arch Linux, pacman is the default package manager. Query the pacman package manager to show all installed packages.

SSH StrictHostKeyChecking option

Secure your OpenSSH configuration and learn about the StrictHostKeyChecking option, available values, and how to configure it.

SSH PasswordAuthentication option

Secure SSH connections and learn about the PasswordAuthentication option, its available values, and how to configure it.

How to stop all processes of a single user

Learn how to stop all processes of a single user using the killall command. To make this work, use the --user option and specify the username.

How to disable the SSH host key check?

OpenSSH performs a host authenticity check when connecting to a system. Learn how to disable the check with the SSH option StrictHostKeyChecking.

Change SSH server port number

Learn how to make changes to your SSH configuration to have it running on a different port. Change it from port 22 to something like 2222.

Configure a SSH welcome message or banner

Configure a welcome message or banner for users to see before or after logging in via SSH. Here are the instructions to change the relevant configuration files.

SSH escape sequences

OpenSSH has escape sequences available to initiate special commands during an active SSH session. Learn about the available escape sequences with this overview.

How to terminate a SSH connection that does not respond to CTRL+C

Learn about SSH escape sequences and how they can help with terminating a SSH connection that does not respond to CTRL+C.

How to remove the passphrase from a SSH key

While protecting SSH keys is typically advised, it is not always feasible in automated processes. Learn how to remove the password or passphrase from a SSH key.

How to see the available SSH keys in the OpenSSH authentication agent

The SSH agent can load stored SSH keys into memory for authentication purposes. Use the ss-add command to show the available SSH keys that are loaded.

Kill

The kill command can be used on Linux systems to send a defined signal to a process. Learn how to use it and what signals are available.

What is a zombie process?

A zombie process, or defunct process, has completed execution, but has still an entry in the process table. Learn more about a zombie process on Linux.

How to kill a zombie process

How to kill a zombie process on Linux if it no longer responds to kill -9? Learn about zombie processes, including a few last steps that you can try.

How to show a running process name and its process ID (PID)

When running a Linux system, you may need to find the process ID (PID) and process name. On Linux we can do this with the help of the pgrep command.

How to find all process IDs by its process name

Each process on Linux has its own number. Discover this number is called the process ID (PID). Learn how to find the PID for a running process by name.

Linux process signals and their meaning

Want to know the difference between SIGHUP, SIGKILL, and SIGTERM? Learn about Linux process signals, including a list and description.

How to kill a running process by its name

Linux administrators can interact in multiple ways with running processes. Learn how to find and stop a running process on Linux by searching for its name.

How to see the the network IP address of your system

Show IP address information on Linux with the help of the ip command. Learn which subcommands to use to query the relevant details.

How to see the IP address of your internet connection

Show the IP address of your internet connection using the dig or the curl command. Learn which options can be used to find out this information.

How to see which DNS server is used

Find the active DNS server being used by reviewing the network configuration, including common commands to query this information.

How to find writable files

Use the find command to search for any files on Linux that are writable. To make this work, the -perm option of find can be used.

Apt-file

The command apt-file can help with discovering which files belong to a package or what package installed or provides them. Learn which options to use.

Apt cheat sheet

The cheat sheet for the apt package manager to cover the most used options. Learn how to get more out of the apt command.

How to see the size of a directory

Disks will eventually fill up. Learn how to quickly see the size of a directory or folder on Linux systems using the du command.

How to see hidden files

Files starting with a dot are usually hidden on Linux. Learn how to see any hidden files on the command line or in the terminal using the ls command.

How to see files greater than a specific size

Learn how to see files smaller or bigger than a specific defined size on Linux, using the du command. Or use the find command to achieve a similar result.

How to find when the last modification happened in a directory

Linux filesystems typically store file modification timestamps. Learn how to find the last modification time of a file or subdirectory in a specified directory.

How to see inode usage

Linux file systems use inodes, unique references to link to a file or directory. Learn how to see inode usage on a Linux file system or mount point.

How to see used and free disk space

Learn how to see used and remaining disk space on Linux systems by gathering the statistics of file systems and mount points using the df command.

How to find symbolic links that point to a directory

Symbolic links may point to a directory or a file. Learn how to use the find command to discover symbolic links that refer to a directory.

How to compare two directories and find the differences

Learn how to compare two directories on a Linux systems and see their differences between both or what files they are having in common.

Files

An overview of common Linux files and directories and their purpose. Learn why these files exist, file permissions, and other details about them.

/etc/ssh/sshd_config

The configuration file /etc/ssh/sshd_config contains settings related to the OpenSSH server daemon. Learn more about this file its configuration.

Systemd timers

Systemd timers are the unit type for scheduled tasks on Linux similar to cron. Learn how to configure them and how they differ from cron.

How to see the number of open connections on Linux

Linux has in-depth details, including about network connections. Show the number of open connections using the ss command on Linux.

How to see when a process was started

Linux has in-depth process information. Learn more about processes, such as when a process was started, using the ps tool.

How to see when the system was started (uptime)

There are multiple ways to see when a Linux system was started, such as using the uptime command, but also with commands like ps.

Smem

The command smem can help showing memory usage, including the usage of swap. Here are the most common options explained.

Iftop

The command iftop shows ongoing bandwidth usage on one or more network interfaces and is a great tool for troubleshooting network issues.

How to see active connections and bandwidth usage on Linux

Show the bandwidth usage and active connections by using the iftop tool on Linux. Learn how to use the tool to quickly find out this information.

Pidstat

Linux systems may use the pidstat command to retrieve system information such as details about CPU, memory, and disk activity by processes.

Troubleshooting CPU usage

Articles and information about troubleshooting system performance issues with focus on CPU usage.

Show to clear the DNS cache with systemd

Linux with systemd might doing DNS resolving using its resolver daemon. Learn how to inspect and clear the DNS cache when using the systemd resolver daemon.

Resolvectl

The command resolvectl provides details about systemd-resolved. Discover the available options for the name resolution daemon on Linux systems.

Network

Articles and information about troubleshooting network performance issues and monitoring network statistics

How to show network TCP statistics and counters

Show counters related to the TCP connections by using the nstat command. This small utility will quickly retrieve the related statistics and display them.

Lscpu

The lscpu command reports information about the CPU, such as architecture, vendor identification, virtualization features, cache, and even CPU vulnerabilities.

How to see CPU details

Show CPU details such as architecture, vendor, caches, virtualization options, and even known CPU vulnerabilities such as Meltdown and Spectre.

Vmstat

The Linux command vmstat reports information about a wide range of statistics, such as memory, paging, processes, disks, block IO, CPU activity, and traps.

Nstat

The command nstat provides network interface statistics on Linux and can be used for monitoring and troubleshooting. Learn about the available nstat options.

Tcpdump cheat sheet

Get more information out of the tcpdump tool using this cheat sheet. Find everything that is going on the network and your Linux systems.

Methods to find the Linux distribution and version

Learn how to find the Linux distribution and version of a system. Use the right tool or file to find the relevant details.

Dmidecode cheat sheet

Want to see all hardware details of a system? Then dmidecode is your friend, helping to decode all information from the SMBIOS specification.

How to see memory information such as type and speed

Linux systems have a wide range of supporting utilities available. Show memory information such as memory type, the number of banks in use, and speed.

How to securely delete a file and its contents

Need to delete the contents of a sensitive file on Linux? Instead of just deleting it with rm, have a look at some other options for a more secure deletion.

How to see the creation date of a file

Linux may store the initial creation of a file. Learn how to use the stat command to find this initial creation time of a file, also known as its birth time.

Understanding the output of the stat command

Learn everything about the output that the stat command returns. Great for forensics, intrusion detection, and system administration.

Tar cheat sheet

Become a master in archiving and compressing files using the tar tool with this cheat sheet, filled with examples and commonly used options.

What is a tainted kernel

The Linux kernel is marked tainted when a specific event happened that could impact reliable troubleshooting of kernel issues. Learn about the relevant events.

How to find the specific cause of a tainted kernel

The Linux kernel can mark itself as being 'tainted'. Learn what it means when the Linux kernel is tainted and in particular the underlying cause.

Ip cheat sheet

Want to see or configure every piece of information about networking, including routing on Linux? Forget tools like netstat and learn using the ip command.

How to see errors and dropped packets on a network interface on Linux

Show the network link details using the ip command to find out if a network has errors or dropped packets on a Linux system.

How to see the default gateway on Linux

Use the network routing table to discover the default gateway on a Linux system. Here is how to use the ip command to achieve this

How to see which process is using a port

TCP or UDP ports can already be in use when starting up a service. Find out which process opened an UDP or TCP port on Linux by using the ss command.

Lsof cheat sheet

Get information about open files on Linux using the lsof command. This cheat sheet covers many common uses for using lsof and how to use it.

How to see open ports on Linux

Show which UDP/TCP ports are opened on a Linux system, including the related process. Use the ss tool to see more details about these sockets.

Ss cheat sheet

If you want to learn more about network connections on Linux, then ss is the tool to get the job done. Learn how to use it with this cheat sheet.

How to see the TTL value of a DNS record

Learn how to query the Time To Live (TTL) for a DNS record by using the dig tool on a Linux systems, including any relevant options.

How to show all installed packages on Ubuntu

Query the package manager to show installed packages on Ubuntu systems including version details. This can be done with the dpkg command and --list option.

List installed packages on a Linux system

Learn how to show installed packages on Linux systems. This overview covers common package managers including those for AlmaLinux, Debian, openSUSE, and Ubuntu.

How to list all USB devices

Retrieve device information from USB hubs and devices on Linux using the lsusb command. Learn how to use the command and its output.

How to see the available hard disks

Show the available hard disks in a system by using the right Linux tool. There are multiple options to pick, so let's have a look.

How to see hard disk specifications and details

Show more detailed information about the available hard disks in the system. Specifications like speed, serial number, firmware, and other details.

How to see BIOS details

The BIOS details can be displayed from within Linux itself. Learn how to query these details and where to find more information.

Du cheat sheet

Get more out of the du utility with this cheat sheet. Use it as a reference to find often-used options or those that come handy in time.

How to find the biggest directories on disk

Find the biggest directories and files on disk by using the du command. The output can be sorted using numeric values to find the biggest entries.

How to see all masked units with systemctl

Want to find all masked unit files on a Linux system running systemd? In this article we show how to do this with systemctl and query those units.

How to see the last X lines with journalctl

Limit the output from journalctl by defining the number of lines you want to see by using the '-n' option, optionally with the service itself.

How to disable a systemd unit with systemctl

Want to disable a service or specific systemd unit? Use the systemctl command to configure units and disable it on boot or completely.

How to start and enable a unit with systemctl

Systemd can start and enable a unit, such as a service at the same time. Learn how to use systemctl more efficiently to achieve this this action.

How to show failed units with systemctl

Want to check the system for failed systemd units? In this article we show how to do this with systemctl and query the units with a failure state.

Systemd: Frequently Asked Questions

Frequently asked questions about systemd, systemctl, and journalctl. Learn by practical examples how to use these tools.

Find cheat sheet

The find utility is probably the best tool to find files on your system, but it has some learning curve. We help you to achieve that with this cheat sheet.

Systemd cheat sheet

Increase your system administration skills with this systemd cheat sheet, including how to configure and monitor systemd units.

Test web server caching with curl

Want to test your web server and see if static files are properly cached? Curl can help and with some scripting even automate the task for you.

Systemd units and their purpose

Which systemd unit types are available and what is their goal? In this article we cover them and show some useful commands related to these units.

Systemctl cheat sheet

Learn how to get every piece of information from systemd units, such as services and timers, including its configuration and status.

Journalctl cheat sheet

Learn how to get every piece of information from systemd journals with the journalctl command. This cheat sheet will help you with the task.

Adding the Expires header to improve caching static content in nginx

Want to improve caching on your nginx web server? Learn how to set the Expires header and enhance your nginx configuration.

Curl cheat sheet

This curl cheat sheet contains commands and examples of common tasks that can be performed with curl. Covering a wide range of curl options, tricks, and tips.

AWK cheat sheet

When it comes to a powerful tools on Linux, AWK is definitely one to know. This cheat sheet explains the basics and shows many useful one-liners

How to see all virtual hosts in nginx

Want to see all configured virtual hosts on a server running nginx? Here is a method to achieve this quickly by using a default configuration option.

SELinux

SELinux is a well-known security framework on Linux systems. Let's have a look at the basics of this framework, such as its purpose and features.

Linux security frameworks

Linux security frameworks restrict unauthorized access by defining a policy and a set of predefined rules. In this article we look their purpose and how they work.

AppArmor

AppArmor is a profile-based security security framework for Linux. In this article we look at the basics of this security framework, its purpose and features.

How to change file permissions

Learn how to change the file permissions of files and directories on a Linux system. Follow the examples and make your system more secure.

Linux file permissions

Learn the basics of file permissions on Linux systems and filesystems such as ext4, XFS, and ZFS. Guided by examples and common Linux tools.

Introduction in Linux file permissions

Learn the basics of how a Linux system applies file permissions. We look at examples to demystify the permissions mean and learn to troubleshoot common issues.

How to find hard links or files that point to a specific file

Learn how to find hardlinks on a file system or which files they have in common. We will use the find command to get this information quickly available.

Linux file systems

All articles about the purpose of a file system and how it works. Learn how to become a specialist to further secure your system.

Shell scripting

From beginners up to advanced users, these articles will cover your needs when it comes to creating better shell scripts.

Processes

This section provides tips and tricks to deal with processes on Linux systems. Got another tip? Let it know!

Kill a process that won't respond to CTRL+C

Got a process that won't respond to CTRL+C? With this tip you can kill almost all processes without having to open a second terminal.

Linux tools to bulk rename files

Want to rename files in bulk, but looking for a good tool that can be used on Linux? This article has your covered, with several options.

Troubleshooting a full /boot partition on Ubuntu

Is your /boot partition full and apt can no longer install updates? Learn how to fix this issue and what you can do to prevent it.

Understanding what runs on your Linux system (and why)

Linux systems have a lot of processes running by default. Let's dive into how programs are started and how you can see all details of each running process.

Configure the time zone (TZ) on Linux systems

Having the right time zone on Linux systems helps with troubleshooting. Learn how to see and configure the right time zone on most Linux distributions.

Beginners guide to traffic filtering with nftables

The replacement of iptables is known as nftables. In this article, we learn to install nftables and configure it, to secure your Linux systems.

How to see the version of Oracle Linux

Oracle Linux is based on Red Hat Enterprise Linux. At first, it may be confusing to determine what specific Oracle version of the operating system is used.

Ubuntu system hardening guide for desktops and servers

Step by step guide to secure any Ubuntu desktop or server. Harden your Ubuntu during installation and afterwards with the available security tips.

Linux security guide: the extended version

Feeling overwhelmed with the options available to secure your Linux system? With this guide, we walk step-by-step through the option, tools, and resources.

Discover to which package a file belongs to

With the right Linux software tools, it is easy to find to which package a file belongs. Or the opposite, what files are part of an installed package.

How to use grep (with examples)

Grep is a powerful utility on Linux. Want to get more out of the tool? This article will show you how to use it including many practical examples.

How to solve an expired key (KEYEXPIRED) with apt

Software updates and package management is easy, until you get a KEYEXPIRED message. In this article we should how it happens and the way to solve it.

Troubleshooting Linux Time Synchronization with NTP

Time synchronization is an important system administration task for Linux systems. This guide explains how to configure, and also troubleshoot time issues.

Mosh, the SSH Alternative Option for System Administration

Learn about Mosh, an alternative for SSH. Let's dive into the reasons why it makes sense to learn about Mosh and how to use it.

Automatic Security Updates with DNF

The dnf package manager and dnf-automatic tool can be used for automated security patching on Linux systems. It requires only a few steps to set it up.

How to Disable "System program problem detected"

Linux systems running Ubuntu might show the message 'System program problem detected'. This article shows how to deal with the message.

Find differences between two daily Lynis audits

It can be useful to see the differences between scans of Lynis, especially when running it daily. Learn how to do this with just a few steps

Missing packages: Don’t trust external repositories!

Should you external repositories or not? In this article we look at why trusting external repositories might be a bad thing.

Monitor file access by Linux processes

Linux is powerful with the help of small utilities like lsof and strace. They help with monitoring disk and file activity, of new and running processes.

Installing ClamAV on CentOS 7 and Using Freshclam

By default a ClamAV installation on CentOS 7 is not working. In this blog post we reconfigure the required systemd and configuration files.

Determine which processes need a restart with checkrestart/needrestart

Just patching software packages is not enough. We cover some tools to determine which processes need a restart to complete software patch management.

Using SSH keys instead of passwords

Linux systems are usually managed remotely with SSH, often still using passwords. Time to switch over to SSH keys and here is how to do that.

SSH server configuration

Linux systems are usually managed remotely with SSH. Learn how to configure the SSH server daemon and improve its security.

Optimize SSL/TLS for Maximum Security and Speed

Everyone loves secure websites, as long as they are quick. Let's configure our website for maximum security and performance, at the same time.

Using unattended-upgrades on Debian and Ubuntu

To counter the biggest threat to software packages, Debian and Ubuntu based systems can use unattended-upgrades, to install security patches automatically.

Updating all OpenBSD packages with pkg_add

To ensure your system is secure and stable, package management is an important task. To achieve that, use pkg_add to update your installed OpenBSD packages.

Software Patch Management for Maximum Linux Security

Linux systems have a lot of software packages, resulting in regular upgrades and updates. Proper software patch management is key and we share how to do it.

Linux Audit Framework 101 – Basic Rules for Configuration

The Linux audit framework is a very powerful tool to monitor files, directories, and system calls. Learn how to configure it.

Tlsdate: The Secure Alternative for ntpd, ntpdate and rdate

Normal NTP can be difficult to set-up, especially for desktop systems which don't need a very accurate time. The tool tlsdate might be a great alternative.

How to check if your Arch Linux system needs a reboot

Want to check if a reboot of the system is needed on Arch Linux? Here is how that can be done including the relevant commands.

Perform NetBSD security audit with pkg_admin

NetBSD can perform a security audit on its packages with the pkg_admin tool. With the check and audit parameters it can perform security check in seconds.

Finding boot logs in systemd journals

Systemd stores boot information in a journal. This article shows how to find the related boot logs, and the commands to query all relevant information.

Alternative for netstat: ss tool

Newer distributions do not use netstat anymore in favor of other tools like ss. This alternative tool can show in-depth information about socket statistics.

Linux capabilities 101

Introduction guide and tutorial about the inner workings of Linux capabilities and how these capabilities are applied when running Linux processes.

Auditing systemd: solving failed units with systemctl

Sometimes systemd units like services and timers may fail. Learn how to troubleshoot such issues and resolve them much easier.

How to clear the ARP cache on Linux?

Clearing the ARP cache on Linux is easy with the arp or ip utility. This blog post will help you to clear the cache with examples for both utilities.

Linux Capabilities: Hardening Linux binaries by removing setuid

Setuid binaries may be a risk for the system. We will investigate how to remove the setuid bit and use Linux capabilities instead, to reduce the risks.

GPG key generation: Not enough random bytes available

A common error when creating keys with GnuPG is: Not enough random bytes available. In this article we have a look at the cause and solution.

Alternatives to Bastille Linux: system hardening with Lynis

Bastille Linux is a great tool for hardening of Linux systems. With the project looking outdated (or even dead), there are new alternatives to Bastille.

OpenSCAP on CentOS 7 – Installing from source

Sometimes we need to build things from source. In this article we install OpenSCAP on CentOS 7 by compiling and installing it manually.

Yum plugins: Available plugins and built-in security support

To determine the available yum plugins, we analyze them for our goal: discovering if security support is in the yum plugins itself or built-in by default.

Protect Linux systems against SSLv3 Poodle vulnerability

The Poodle vulnerability was discovered in October 2014, putting all systems using SSL 3.0 at risk. Here is what to do to protect against it.

Installation of Lynis on Arch Linux systems

Lynis is available as a package for Arch Linux and installation is just a few steps. We look at the options to install Lynis on your favorite Linux distro.

How to solve Shellshock on Debian and Ubuntu

Also Debian and Ubuntu are vulnerable for Shellshock vulnerability in Bash. That's why it is important to run apt update and perform an upgrade of Bash.

Linux Security for DevOps

With security getting more and more attention, we focus on Linux security for DevOps. Also DevOps will need hardening, auditing and dealing with compliance.

Auditing Linux processes: The Deep Dive!

In-depth article about auditing Linux processes. Determination of running processes, memory and on-disk structure and the proper tools for analyzing them.