One of the most confusing and often frustrating parts of Linux for new users is the concept of file system permissions. It used to be that if you wanted to change file permissions on a Linux system, you had to enter cryptic commands at the terminal. Now, however, desktop environments like GNOME and KDE Plasma make it easy to check and adjust these settings.
In this article, we’re going to explain what each of the file permission settings is and show you how to adjust them on each of the four major Linux desktop environments: GNOME, Plasma, Cinnamon, and XFCE.
Linux File Permissions Basics
There are four basic options for setting permissions on a Linux file system. You can use the following permission settings to restrict or grant access to both directories and individual files:
- No permission (or None)
- Read and write
You can assign each of these permissions individually to one of three specific types of users: the file owner, users who are members of a specific group, and all other users who are neither the file owner nor in a group with defined permissions—we’ll call them public users.
Following is a brief explanation of the effects of each permission setting.
You can only set a file’s permissions to none for groups and public users. The owner will always have at least read-only permission to any file they own.
When a user has no permission to access a file or directory, that item will be invisible to the user. It will not show up in any directory listings and the user will not be able to directly access the file or directory even if they somehow know that it is there.
Read-only File Permission
Just as it sounds, a user with read-only permissions will only be able to read the specified file or directory. They will not be able to write, modify, or delete anything.
If the owner’s permission is set to read-only, the system will present a warning when you try to modify or delete the item. You will, however, still be able to override the read-only status.
Read and Write File Permission
With read and write permissions, a user or group will be able to access, create, modify, and delete the item(s). It is possible to give someone write access to a directory so they can create files but restrict write access to individual files within that directory that need to be protected.
Executable File Permission
The executable permission is a special setting that will allow the user to run (execute) a script or binary file as a program. The files that launch applications, for example, will be set as executable in the file system.
How to Change Linux File Permissions on GNOME
To change file permissions on the GNOME desktop, open the GNOME file manager, right-click on the file or directory that you want to modify, and select Properties.
Next, the system will present you with a dialog box that displays information about the file or directory you’ve selected and allows you to modify certain attributes.
On the file properties dialog, switch to the Permissions tab from the top. On the Permissions tab, you will be able to change the file’s permissions for the owner, group(s), and others (anyone who is not the owner or member of a group with access).
Checking the Execute box at the bottom of the dialog will allow users with access to execute the file as a program or script.
How to Change File Permissions in KDE Plasma
To get to the permissions settings in Plasma, you’ll do exactly as above. Open the file manager, locate the file or directory you want to modify, and right-click on its icon.
On the context menu that opens, simply click on Properties at the bottom of the list, and you will be presented with a dialog box as shown below.
Click the Permissions tab on the top of the dialog, and the system will give you options to set permissions for the owner, group, and others.
Plasma uses slightly different wording, but the permissions all have the same meaning. You can choose from No Access, Can Only View, and Can View & Modify. Below the three permission options is a checkbox to make the file executable if needed.
How to Change File Permissions With Cinnamon
As with most other Linux desktop environments, to get to the file permission settings in Cinnamon, you’ll need to open the file manager, locate the file or directory that you need to configure, and right-click on it.
After clicking the Properties option, Cinnamon will present you with a configuration dialog box as shown below.
Being based on GNOME, the Cinnamon dialog box for configuring file permissions is almost exactly the same as GNOME’s. You simply need to click on the Permissions tab in the top-center. You’ll then be able to select from None, Read-only, and Read and write for each of the three user types. There is also a checkbox on the bottom to set the item as executable.
How to Change File Permissions in XFCE
On your XFCE desktop, you can also change file and directory permissions by opening the file manager, locating the file or directory that you want to work with, and right-clicking on the item. Then, select Properties from the context menu that appears.
As shown below, the properties dialog will open and allow you to change the permission settings of the item you are working with.
First, click on the Permissions tab on the top of the dialog box to bring up the file and directory permission settings. As with all the desktop environments listed above, you will be able to select from None, Read-only, and Read & Write. XFCE also provides a fourth option to set permissions to Write-only.
You can check off Allow this file to run as a program to grant executable permissions to the file.
Understanding Linux File Permissions Puts You in Control
Knowing how to check and change file permissions gives you complete control over who can do what with the programs and information on your Linux system. Using your desktop file manager will give you the ability to set the most commonly used file permissions.
If you find that you need even tighter control over permissions on your file system, however, there are more options available at the command line. Fortunately, we have plenty of articles that can help you become more proficient at the Linux command line, too.
If you want to manage file permissions properly on any Linux operating system, you need to know the chmod command.
About The Author