0Pricing
Linux Command Line Mastery · Lesson

Permissions and Ownership: `chmod`, `chown`

Understand and manage file permissions and ownership to control access to your data securely.

Permissions and Ownership: `chmod`, `chown` is a free Linux Command Line Mastery lesson on CoddyKit — lesson 3 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Linux Command Line Mastery learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.

Permissions: Who Can Do What?

In Linux, file permissions and ownership are vital for security and managing access to your data. They determine who can read, write, or execute files and directories.

Think of it like a set of rules for your digital property. Without proper permissions, anyone could access or modify your important files!

The Three Pillars: UGO

Linux permissions are categorized into three main types of users, often referred to as UGO:

  • User (Owner): The person who created the file or directory.
  • Group: A collection of users who share specific access rights to the file.
  • Others: Everyone else on the system who is not the owner and not part of the file's group.

Action Types: Read, Write, Execute

For each of the UGO categories, there are three basic types of actions they can perform:

  • Read (r): Allows viewing the file's content or listing a directory's contents.
  • Write (w): Allows modifying or deleting the file, or creating/deleting files within a directory.
  • Execute (x): Allows running a file (if it's a program or script) or entering a directory.

Viewing Permissions with `ls -l`

You can see a file's permissions and ownership using the ls -l command. This command provides a detailed, 'long' listing of files.

The first column shows the file type and permissions in a symbolic format, like -rwxr-xr--.

touch example.txt
ls -l example.txt

`chmod`: Symbolic Mode Basics

The chmod (change mode) command is used to change file permissions. In symbolic mode, you specify who (u, g, o, a) gets what permission (r, w, x) using operators (+, -, =).

  • u: user (owner)
  • g: group
  • o: others
  • a: all (u, g, o)
  • +: add permission
  • -: remove permission
  • =: set permission exactly

`chmod` Symbolic Mode in Action

Let's make our example.txt file executable for the owner, readable for the group, and remove all permissions for others.

Notice how the permissions string changes after each command.

touch example.txt
chmod u+x example.txt
chmod g=r example.txt
chmod o-rwx example.txt
ls -l example.txt

`chmod`: Octal Mode Explained

Octal mode is a numerical way to set permissions. Each permission (r, w, x) is assigned a numerical value:

  • r (read) = 4
  • w (write) = 2
  • x (execute) = 1

You sum these values for each UGO category. For instance, rwx (4+2+1) is 7, and r-x (4+0+1) is 5.

`chmod` Octal Mode Example

Common octal permissions include:

  • 755: Owner (rwx), Group (rx), Others (rx)
  • 644: Owner (rw), Group (r), Others (r)
  • 600: Owner (rw), Group (-), Others (-)

Let's set example.txt to rw-r--r-- (644).

touch another_file.txt
chmod 644 another_file.txt
ls -l another_file.txt

Changing Ownership with `chown`

The chown (change owner) command is used to change the user and/or group ownership of a file or directory.

Its basic syntax is chown [USER]:[GROUP] [FILE]. You can change just the user, just the group, or both. This command usually requires sudo privileges.

`chown` in Practice

Let's create a file and then change its owner. For this example, we'll assume a user named 'coddy' exists. If not, replace 'coddy' with an existing user on your system.

Note: You'll likely need sudo to execute chown.

touch owned_file.txt
ls -l owned_file.txt
# Assuming 'coddy' is a valid user
sudo chown coddy owned_file.txt
ls -l owned_file.txt

Permissions Check

You have a file named report.txt. You want the owner to have full read, write, and execute permissions. The group should only have read and execute permissions. Others should have no permissions at all.

Which chmod command (octal mode) achieves this?

Recap: Master Your Files!

Great job! You've learned how to manage file permissions and ownership in Linux.

  • ls -l shows permissions in symbolic format.
  • chmod changes permissions using symbolic (u+r) or octal (755) modes.
  • chown changes the owner and/or group of a file, often requiring sudo.

Understanding these commands is crucial for securing your system and collaborating effectively!

Frequently asked questions

Is the “Permissions and Ownership: `chmod`, `chown`” lesson free?

Yes — the full text of “Permissions and Ownership: `chmod`, `chown`” is free to read here on the web, and the Linux Command Line Mastery course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Linux Command Line Mastery course, upgrade to CoddyKit PRO.

What will I learn in “Permissions and Ownership: `chmod`, `chown`”?

Understand and manage file permissions and ownership to control access to your data securely. You practise Linux Command Line Mastery with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.

Do I need any experience to start Linux Command Line Mastery?

No prior experience is required. Linux Command Line Mastery on CoddyKit is structured for beginners through advanced learners; this is — lesson 3 of 4, so you can start here or from the beginning and move at your own pace.

How long does the “Permissions and Ownership: `chmod`, `chown`” lesson take?

Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.

Can I write and run code in this Linux Command Line Mastery lesson?

Yes. Every Linux Command Line Mastery lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.

All lessons in this course

  1. Viewing File Content: `cat`, `less`, `more`
  2. Searching Files: `find` and `locate`
  3. Permissions and Ownership: `chmod`, `chown`
  4. Creating and Following Symbolic Links
← Back to Linux Command Line Mastery