Enigmail Setup Wizard

Encrypt Your Email With GPG, Thunderbird, and Enigmail


Encrypting everything online is becoming more important by the day. Email is no different. For Linux users, the process is actually very simple with three common open source tools; Mozilla Thunderbird, Enigmail, and GNU PGP(GPG.) Through the use of these three tools, you can send and receive encrypted messages easily, and protect yourself and the people you’re communicating with from attackers and privacy invasions.

Gathering The Pieces

Install GPG

The first thing that you will need in order to begin encrypting your emails is GPG. Since GPG is part of the GNU Project and is a common tool for generating encryption keys, it’s likely to be in any distro’s repositories. Use your package manager to install it.

Read more

How to Securely Transfer Files With SFTP


Transferring files between computers can be a pain. FTP is somewhat clunky and old, and using online services isn’t direct and is less than ideal for handling sensitive files. Git works well for code and text, but isn’t the best for binary files and requires a repository to be configured. So, what’s a good solution for sending files directly between computers? SFTP.

SFTP is a secure file transfer protocol that makes use of SSH to send files between computers. It is encrypted and direct. It allows you to use an existing service to send files, thereby reducing your attack surface, and it eliminates the need to rely on potentially vulnerable passwords for file transfers.

Before you go any further, you need to set up SSH keys for the machines you want to work with. If you don’t know how, check out our guide on setting up SSH key based authentication.

Read more

Manage Vim Plugins With Pathogen


There’s no denying that Vim is awesome on its own. It provides users with unprecedented configuration potential and quick, powerful commands. That said, Vim can get even better with the use of plugins.

There are hundreds of plugins that can seriously amp-up your Vim installation. Many of them are tailored for specific uses, like programming in a certain language or even writing. Others are more general and enhance Vim’s existing capabilities. Whichever it is that you need, you’re going to have to manage those packages.

There are a number of Vim package managers, but Pathogen is the most universal and simple to use and install. Pathogen works by pulling all of the Vim plugins in a certain directory into your Vim installation and activating them with a single line in your .vimrc file.

Read more

How to perform a faster data compression with pbzip2


What if you would be able to perform a data compression four times faster, with the same compression ratio as you normally do. Pbzip2 command line utility can easily accomplish this as it gives you an option to select number CPU and amount of RAM to be used during the compression process.

Regular tar and bzip2 compression

We all know the regular command to perform tar and bzip2 directory compression. The below command will tar and compress our sandbox directory FOOBAR. We are also prefixing the below command to get exact time for how long will it take to output compressed file FOOBAR.tar.Bbz2 from 242MB FOOBAR directory:

# time tar cjf FOOBAR1.tar.bz2 FOOBAR/

real    0m20.030s
user    0m19.828s
sys     0m0.304s

From the above time output we can see that it took about 20 seconds to create following compressed file:

# ls -lh FOOBAR1.tar.bz2 
-rw-r--r-- 1 root root 54M Mar 10 20:25 FOOBAR1.tar.bz2

Read more

Wireshark running on Kali

Basics of network protocol analyzer Wireshark On Linux

Wireshark is just one of the valuable tools provided by Kali Linux. Like the others, it can be used for either positive or negative purposes. Of course, this guide will cover monitoring your own network traffic to detect any potentially unwanted activity.

Wireshark is incredibly powerful, and it can appear daunting at first, but it serves the single purpose of monitoring network traffic, and all of those many options that it makes available only serve to enhance it’s monitoring ability.


Kali ships with Wireshark. However, the wireshark-gtk package provides a nicer interface that makes working with Wireshark a much friendlier experience. So, the first step in using Wireshark is installing the wireshark-gtk package.

# apt install wireshark-gtk

Don’t worry if you’re running Kali on a live medium. It’ll still work.

Basic Configuration

Before you do anything else, it’s probably best to set Wireshark up the way you will be most comfortable using it. Wireshark offers a number of different layouts as well as options that configure the program’s behavior. Despite their numbers, using them is fairly straightforward.

Start out by opening Wireshark-gtk. Make sure it is the GTK version. They are listed separately by Kali.

Read more

Learning Linux Commands: netstat


netstat command is a useful command to reveal a network status of your system. It allows a system administrator to keep track of any network connections by querying their status, origin and destination.

Furthermore, netstat is the all-in-one networking monitoring tool as it can also be used to display route tables, interface statistics, masquerade connections, as well as multicast memberships. ss command is a future successor of the netstat command.

Read more

Hosting Django With Nginx and Gunicorn on Linux


Hosting Django web applications is fairly simple, though it can get more complex than a standard PHP application. There are a few ways to handle making Django interface with a web server. Gunicorn is easily one of the simplest.

Gunicorn(short for Green Unicorn) acts as in intermediary server between your web server, Nginx in this case, and Django itself. It handles serving the application itself while Nginx picks up the static content.



Installing Gunicorn is super easy with Pip. If you’ve already set up your Django project using virtualenv, you have Pip and should be familiar with the way it works. So, install Gunicorn in your virtualenv.

$ pip install gunicorn

Read more

LEMP ( Linux, Nginx, MySQL, PHP7 ) stack Docker image deployment


The automated build docker LEMP image linuxconfig/lemp-php7 can be used as a testing and also as a production environment for a dynamic PHP applications. It comprises of Debian GNU/Linux, lightweight and yet powerful Nginx webserver, MySQL relational database management system and PHP scripting language.

At the time of writing, Debian Linux does not come with PHP 7 as a part of a its standard repository. From this reason PHP 7 was compiled from the source code during docker image build using compile-php-debian script located at https://github.com/linuxconfig/compile-php-debian.

Furthermore, not all 3rd-party PHP modules are currently supported on PHP 7.


The following section describes the deployment of linuxconfig/lemp-php7 docker on your docker host. Let’ start by creating a sample PHP website with a MySQL connection handle. Alternatively add phpinfo(); into the mix to display current PHP information page:

$link = mysqli_connect("", "admin", "pass");

if (!$link) {
    echo "Error: Unable to connect to MySQL." . PHP_EOL;
    echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
    echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;

echo "Success: A proper connection to MySQL was made!" . PHP_EOL;
echo "Host information: " . mysqli_get_host_info($link) . PHP_EOL;


Read more

using newusers for bulk user creation

Simple way for unattended bulk user creation in Linux


As a Linux system administrator, you will sometimes have to add new user account to your system. To do so, adduser command is often used. When it comes to multiple users’ creation, adduser command may become boring and time-consuming.
This short article intends to provide the Linux system administrator with a simple and unattended way for bulk user creation. The newusers command will help you to create multiple users by getting their info from a prefilled file.


Privileged access to your Linux machine


# – requires given linux commands to be executed with root privileges either directly as a root user or by use of sudo command
$ – requires given linux commands to be executed as a regular non-privileged user

How to proceed

Create a file containing the usernames

In this initial step, you need to create a file that will contain the list of the usernames that are to be created.

$ vi users-list.txt

Read more

How to make iptables rules persistent after reboot on Linux


Iptables rules are by default not persistent after reboot. The objective is to make iptables rules persistent after reboot.


Privileged remote or physical access to your Ubuntu or Debian Linux system is required to complete this task.




iptables-persistent installation

In order to make your iptables rules persistent after reboot install iptables-persistent package using apt-get tool:

# apt-get install iptables-persistent

Read more

Basic NFS Installation and Configuration on Linux

Sharing files between computers and servers is an essential networking task. Thankfully, Linux’s NFS(Networked File System) makes it extremely easy. With NFS properly configured, moving files between machines is as easy as moving files around on the same machine. Since NFS functionality is built directly into the Linux kernel, it is both powerful and available on every distro, though the configuration differs slightly between them.

Setting Up The Server

Installing The Packages

Linux NFS uses the Client-Server model, so the first step in getting NFS set up is setting up the server. Because the core NFS capabilities are rooted in the kernel, there isn’t much required in the way of packages, but there are still a few regardless of the distribution as well as some configuration.
Almost all major distributions have NFS enabled, so unless you’re running a custom one, it should already be set up. The next step in getting the server set up is to install the packages.

On Ubuntu/Debian:

$ sudo apt-get install nfs-kernel-headers

On Fedora

$ sudo yum install nfs-utils system-config-nfs

Read more