How Do I Set Up Setuid, Setgid, and Sticky Bits on Linux?

Reading Time: 6 minutes

What Are Linux File Permissions?

Setuid, Setgid and Sticky Bits are special types of Unix/Linux file permission sets that permit certain users to run specific programs with elevated privileges. Ultimately the permissions that are set on a file determine what users can read, write or execute the file. Linux provides more advanced file permissions that allow you to do more specific things with a file, or directory.  Typically, these file permissions are used to allow a user to do certain tasks with elevated privileges (allow them to do things they normally are not permitted to do). This is accomplished with three distinct permission settings.  They are setuid, setgid, and the sticky bit.

Continue reading “How Do I Set Up Setuid, Setgid, and Sticky Bits on Linux?”

Installing Microsoft Powershell on Ubuntu 18.04

Reading Time: 5 minutes

If you are a Windows administrator who has recently been tasked with administering a Linux-based Ubuntu server, you may find that utilizing Microsoft Powershell may help ease the transition into Linux, and allow you to be more productive. If you are a Linux administrator who is interested in exploring the options that Powershell provides, then this tutorial is for you as well.

Continue reading “Installing Microsoft Powershell on Ubuntu 18.04”

Introduction to Machine Learning

Reading Time: 6 minutes

Two of the biggest catchphrases being thrown around today in computing are Artificial Intelligence (AI) and Machine Learning. Many times people use them interchangeably. The truth is that AI encompasses a lot more than just Machine Learning, but Machine Learning is one of the most promising aspects of AI.

Continue reading “Introduction to Machine Learning”

MySQL Performance: MySQL/MariaDB Indexes

Reading Time: 6 minutes

Data in a MySQL/MariaDB database is stored in tables. A simple way of thinking about indexes is to imagine an extensive spreadsheet. This type of system is not always conducive to quick searching; that’s where an index becomes essential. If there is no index, then the database engine has to start at row one and browse through all the rows looking for the corresponding values. If this is a small table, then it is no big deal, but in larger tables and applications where there can be tables with millions and even billions of rows, it becomes problematic. As you can imagine, searching through those rows one by one will be time-consuming, even on the latest hardware. The solution is to create an INDEX (or more than one) for your data.

Continue reading “MySQL Performance: MySQL/MariaDB Indexes”

MySQL Performance: Intro to JOINS in SQL

Reading Time: 5 minutes

In this article, we will learn the basics of joining tables in SQL. We will learn about Left, Right, Inner, and Outer joins and give examples of how to use them.

Data in an RDBMS (Relational Database Management System) is grouped into tables. These tables have a rigid definition of the type of data that can be stored in them. To connect different tables, and thus different types of data that may relate to each other, we will use the JOIN clause. 

Continue reading “MySQL Performance: Intro to JOINS in SQL”