Permissions and owners
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:
- Finding files (Linux Fundamentals, medium)
After this lab you can move on to:
- Environment and history (Linux Fundamentals, medium)
- Who am I and what can I do? (Privilege Escalation, medium)
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.