Read – Read permission enables the user to view the contents of a file and view the names of files contained in a directory. Write – Having write permission lets a user modify or delete a file. Combined with the execute permission, you can modify the contents of a directory. Execute – Execute permission lets you execute a file if the read permission is also enabled. It is used with the write permission for modifying directories and the files they contain.

Linux further delineates the control a user can exercise over a file or directory by the use of groups. A group is a collection of zero or more users that may have common computing requirements. File and directory permissions are assigned to three entities:

User – these permissions impact the file’s owner.

Group – these permissions affect the group that owns the file. When the owner is in the group, User permissions are enforced.

Other – all other users are subject to these permissions.

Executing a ls -l command will return a list of files and their permissions. The file mode describes the type of entity and its permissions. It is ten characters long, with the first letter being a ‘d’ for a directory, a ‘-‘ for a file, or a ‘l’ for a link.

The next nine characters symbolically spell out the permissions for the User, Group, and Others respectively. Triplets of letters represent the permissions. For example, this would give everyone read, write, and execute permission for a file:

rwxrwxrwx

Where this takes away execute permission for the group and others.

rwxrw-rw-

So the letter indicates the permission is enabled and a dash shows it is not set. They are always assigned in the read, write, and execute order.

Permissions can also be represented as numeric values based on binary substitution of the characters.

Linux Services, Daemons, and Devices

Linux services and daemons are very similar animals. They are both essentially applications that run the background. They are not under the direct control of a user. System events may initiate action by the services or daemons.

Some examples of important daemons are:

cron – used to schedule command execution

lpd – manage printing

rpc.mountd – respond to mount requests

Linux services such as Apache and MySQL are likely to be running on your machine.

Devices files are special files that interact with device drivers to access hardware attached to your system. They are found in the /dev directory.

Networking with Linux

Linux machines are often employed as network gateways or firewalls. The reliability of the operating system, its cost-effectiveness, and its flexibility make it a prime candidate for use in servers and devices involved in networking. There are Linux distributions that are tailored to the needs of network administrators.

According to geekflare.com, here are some of the more useful Linux networking commands.

ifconfig – used to configure the parameters of network interfaces

– used to configure the parameters of network interfaces telnet – tests connectivity between two hosts

– tests connectivity between two hosts netstat – allows you to review network connections

– allows you to review network connections scp – used to copy files securely between hosts

– used to copy files securely between hosts nmap – checks opened ports

There are several Linux serial console programs which can be used for purposes such as testing and configuring the serial ports in your network installations. Among them are minicom, grub, and getty. Based on your specific distribution, additional tools may be available for use in network administration.

A Sample Linux Session

Now that you have a little background concerning Linux let’s take a look at how a typical session begins. We will use the command line for demonstration purposes, but many Linux distributions have intuitive user-interfaces that can be used to perform many of the same functions. We will see some of the concepts discussed above in action.

Here’s what we are going to do.

Log into the system, locate a file, run it, change permissions so no-one else can run it, and then log off. Let’s get started.

login username <enter> – Your username should have been assigned by your system administrator. You will be prompted for your password. Provide it and hit enter again.

You should be in your home directory. To verify, execute the pwd command. We are going to assume that the program you are going to run is located in /home/username/progs. Let’s go there by entering this command:

cd /home/username/progs ls -l

Now you are presented with all of the files that are in the /home/username/prog directory. You will see the file permissions, file owner, and group owner with the file name on the far right.

You have a program titled myTestProgram which currently has permissions set at –rwxrwxrwx, meaning that anyone can read, modify, and execute the program.

Since you are one of everyone, you can run it by simply typing its name and hitting enter.

myTestProgram

Let’s assume that the program executed, but there is an issue you need to resolve before letting anyone else use it. You need to change the permissions with the chmod command as in this example:

chmod u=rwx,g=r,o=r myTestProgram

The result of this command is that only you can run the program. A look at the file permissions will show this:

-rwxr—r—

Everyone else can only read the file. Now you can take your time and fix it before modifying permissions again to let others use your creation.

You can simply logout to end your session.

logout

That’s it. You have successfully run a program in Linux and modified it so it cannot be used by others. With a little practice, you will soon be moving around the system like a pro.

Installing Linux

You may be interested in trying Linux on a particular computer but not yet be ready to blow away the current operating system. Many Linux versions have what is called a “live” distribution, where you can run the OS from a CD or other external media without any changes to your hard drive.

This lets you check it out before making any commitment.

Once you are satisfied that the operating system indeed fits your needs, simply click on the install icon and a software wizard will guide you during installation. The wizard will help you determine if your machine meets the minimum requirements for the OS. You will also set up your wireless connection if you have one, as you will need to access the network to download additional software and updates.

Further details on trying and installing Linux can be found on this page at linux.com.

This overview provides a taste of what to expect from the Linux operating system. While it was once considered the operating system of experts or computer geeks, the newer, user-friendly distributions allow just about anyone to experiment with this powerful operating system. The links that are included in this article are a good starting point if you desire more thorough Linux knowledge. You just might find that Linux fills all of your computing needs and lets you escape from the monolithic major operating system vendors.