Linux Fundamentals : Users, Permissions, Software & Administration

In the previous guide, we introduced Linux, distributions, the terminal, basic commands, and the Linux file system.

Now it’s time to go one step further.

Understanding Linux fundamentals such as users, groups, permissions, software management, and services is essential if you want to work with Linux servers or become a system administrator.

In this guide, we’ll cover the most important concepts you should learn after mastering the basics.

Linux fundamentals users permissions

1. Linux Users

Linux is designed as a multi-user operating system.

A Linux computer can have multiple user accounts, and each user can have different permissions.

For example:

User: mohamed
Home directory: /home/mohamed

Each user normally has their own home directory where they can store personal files.

You can see the current logged-in user with:

whoami

You can also see information about users currently logged into the system with:

who

2. Linux Groups

Groups allow administrators to manage permissions for multiple users.

For example, a company might have:

Group: developers

Users who belong to this group can be given access to development files without giving them full administrator privileges.

To see the groups associated with your current user:

groups

Groups are especially useful in business and server environments.


3. The Root User

Linux has a special administrator account called root.

The root user has extensive privileges and can modify almost anything on the system.

You can check whether you’re working as root with:

whoami

If the result is:

root

you’re using the root account.

Because root has very powerful permissions, it should be used carefully.


4. Using Sudo

Instead of logging in directly as root, Linux administrators commonly use:

sudo

sudo allows an authorized user to execute a command with elevated privileges.

For example:

sudo apt update

You may be asked for your user password.

Using sudo is safer than constantly working as root because administrative privileges are only used when required.


5. Understanding Linux File Permissions

File permissions are one of the most important Linux concepts.

Linux permissions determine who can:

  • Read a file
  • Modify a file
  • Execute a file

The three basic permissions are:

PermissionSymbolMeaning
ReadrView contents
WritewModify contents
ExecutexRun the file

For example:

-rwxr-xr--

The permissions are divided between:

Owner | Group | Others

Understanding this structure is essential when working with Linux servers.


6. Changing Permissions with chmod

The chmod command changes file permissions.

For example:

chmod +x script.sh

This gives the file execute permission.

You may also see numeric permissions such as:

chmod 755 script.sh

A common interpretation is:

7 = read + write + execute
5 = read + execute
5 = read + execute

Therefore:

755

means:

Owner  → rwx
Group  → r-x
Others → r-x

Be careful when changing permissions on system files.


7. Changing File Ownership

Linux files also have an owner and group.

The chown command can change ownership.

Example:

sudo chown mohamed:developers project.txt

This changes:

  • Owner → mohamed
  • Group → developers

Ownership management becomes particularly important on shared servers.


8. Installing Software on Linux

Linux distributions commonly use package managers to install and update software.

For Ubuntu and Debian, the main package manager is:

APT

Update package information:

sudo apt update

Upgrade installed packages:

sudo apt upgrade

Install software:

sudo apt install nginx

Remove software:

sudo apt remove nginx

Package managers make software installation much easier than manually downloading and installing every dependency.


9. Different Linux Package Managers

Different distributions use different package management systems.

DistributionPackage Manager
UbuntuAPT
DebianAPT
FedoraDNF
Rocky LinuxDNF
Arch LinuxPacman

You don’t need to learn all of them immediately.

Start with the package manager used by your Linux distribution.


10. Linux Services

Linux servers commonly run background services.

Examples include:

  • Web servers
  • SSH
  • Database servers
  • DNS
  • Network services

Modern Linux distributions commonly use systemd to manage services.

The main command is:

systemctl

For example, to check the status of SSH:

sudo systemctl status ssh

To start a service:

sudo systemctl start ssh

To stop it:

sudo systemctl stop ssh

To restart it:

sudo systemctl restart ssh

These commands are extremely useful for system administrators.


11. Checking Linux Logs

Logs help administrators understand what is happening on a system.

With systemd-based distributions, you can use:

journalctl

For example:

sudo journalctl -u ssh

This can show logs related to the SSH service.

Learning how to read logs is an important troubleshooting skill.


12. Linux and SSH

SSH (Secure Shell) is one of the most important tools for Linux administration.

It allows administrators to remotely connect to a Linux server.

For example:

ssh user@192.168.1.10

Once connected, you can manage the remote server using the terminal.

SSH is widely used in:

  • Data centers
  • Cloud platforms
  • Hosting environments
  • Network administration
  • DevOps

13. Linux and Servers

Linux is extremely common in server environments.

A Linux server can provide:

  • Web hosting
  • DNS
  • DHCP
  • Databases
  • File sharing
  • VPN services
  • Monitoring
  • Application hosting

For example, a server running Nginx can host websites and web applications.

This is one of the main reasons Linux skills are valuable for IT professionals.


14. Linux and Cloud Computing

Linux is also heavily used in cloud computing.

Cloud providers such as AWS, Microsoft Azure, and Google Cloud offer many Linux-based virtual machines.

When working with cloud infrastructure, you’ll often need to understand:

  • SSH
  • Linux users
  • Permissions
  • Networking
  • Services
  • Storage
  • Logs
  • Security

This makes Linux fundamentals an excellent foundation for learning cloud administration.


15. Linux and Cybersecurity

Linux is also widely used in cybersecurity.

Security professionals use Linux for:

  • Network analysis
  • Security testing
  • Log analysis
  • System monitoring
  • Incident response
  • Security research

However, before learning advanced security tools, it’s better to understand Linux administration first.

Knowing how users, permissions, services, processes, and networking work will make cybersecurity concepts much easier to understand.


A Simple Linux Learning Path

If you’re learning Linux from the beginning, follow this order:

Level 1 — Basics

Learn:

  • Terminal
  • Files and directories
  • Basic commands
  • File system

Level 2 — Administration

Learn:

  • Users
  • Groups
  • Permissions
  • sudo
  • Package management
  • Services

Level 3 — Networking

Learn:

  • IP addresses
  • DNS
  • SSH
  • Ports
  • ping
  • ip
  • ss
  • curl

Level 4 — Advanced Administration

Learn:

  • Bash scripting
  • Cron jobs
  • System monitoring
  • Logs
  • Firewalls
  • Backup
  • Storage management

Level 5 — Professional Skills

Move toward:

  • Linux servers
  • Cloud
  • Docker
  • Kubernetes
  • DevOps
  • Cybersecurity

Practical Exercise for Beginners

If you have Ubuntu installed in a virtual machine, try this small exercise.

Create a directory

mkdir linux-lab

Enter it

cd linux-lab

Create a file

touch test.txt

Check the file

ls -l

Add execute permission

chmod +x test.txt

Check permissions again

ls -l

This simple exercise helps you understand how Linux files and permissions work.


Conclusion

Understanding Linux fundamentals is an important step toward becoming comfortable with Linux administration.

Users, groups, permissions, sudo, package managers, services, logs, and SSH are some of the most important concepts to learn after mastering basic Linux commands.

Once you understand these fundamentals, you can move toward more advanced areas such as Linux networking, servers, cloud computing, DevOps, and cybersecurity.


FAQ

What should I learn first in Linux?

Start with the terminal, file system, basic commands, users, permissions, and package management.

What is sudo in Linux?

sudo allows an authorized user to execute commands with elevated privileges.

What are Linux permissions?

Permissions control whether users can read, modify, or execute files and directories.

What is SSH?

SSH is a secure protocol used to remotely connect to and manage computers, especially Linux servers.

Is Linux administration difficult?

It has a learning curve, but practicing regularly with a virtual machine is an excellent way to build practical skills.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top