Skip to content
PURPLEDUEL

Permissions and owners

Linux Fundamentals · medium level · 5 objectives · 600 XP in total

Not every file is for everyone. Learn to read permissions (rwx) with ls -l, find out what you cannot open, and track down the right script to run to get the delivery code.

Lab 8 of 9 in the Linux Fundamentals path. If you get stuck you have 3 hints, from the vaguest to the most precise: they cost 0, 40 and 120 XP.

What you learn

Objectives complete themselves while you work in the terminal; each one is worth experience points:

  • Read the permissions with ls -l (80 XP)
  • Find out what you cannot read (permission denied) (100 XP)
  • Read the script before running it (70 XP)
  • Run the right script (150 XP)

Topics: linux, permessi.

Commands you will use

The terminal is simulated and understands about forty Linux commands. In this lab you will mostly need these:

  • cat: prints the contents of a file: the most direct way to read configurations, notes and logs.
  • ls: lists the files in a folder; with -l it shows permissions and owners, with -a hidden files too. It is the first command on any machine.

The simulated environment

You work in a simulated Linux shell, in the home folder of the user runner: invented files and folders, no network target.

Besides the home folder there is a complete simulated system, with configuration files, logs, users and permissions to examine.

The defensive lesson

Once the lab is solved, the write-up explains what went wrong and how to protect yourself:

r, w and x say who can read, write and execute: owner, group, others. Nobody else can read a root-owned -rw------- file, which is how /etc/shadow (the passwords) stays safe. Read a script before you run it: a file with the x bit can do anything you can do, even rm -rf. Defense: least privilege, chmod 600 for secrets, no world-writable files, and executable scripts only when they are really needed.

Before and after this lab

To unlock it you must have solved:

After this lab you can move on to:

The Linux Fundamentals path

Linux Fundamentals is the starting point. Almost every server, network device and security tool runs on Linux, and anyone who defends a system (or tests it with permission) spends much of their time in a terminal. Here you learn to move around the filesystem, find hidden files, read huge logs piece by piece, search for words with grep, chain commands with pipes and understand permissions, environment variables and history: the basics you will use in every other path.

All labs in the Linux Fundamentals path

Learn more with the guides

All guides