How to easily change folder and file permissions on Linux

Frizi/Getty Images

File permissions are an important aspect of the Linux operating system for security and privacy. You see, Linux is a multi-user operating system, which means more than one person can be logged on to the system at one time. 

Say, for example, you have a file called private.txt in the Documents directory of your home (so ~/Documents). By default on most modern Linux distributions, only the owner can view and/or edit the file. So, if user olivia logs in, she cannot see the contents of your home directory. 

Also: Thinking about switching to Linux? 9 things you need to know

But what about if you create a directory, outside of home, that you want to allow others to use? Let’s say the directory is /user/share/data, which you could create with the command:

sudo mkdir /usr/share/data

Once you’ve created the directory, the only way to add anything to it is by using sudo for admin privileges — and that includes allowing anyone on the system to be able to read and write to that directory, so they can view and edit files. Now, that’s not exactly the most secure approach.

Also: Want to save your aging computer? Try these 5 Linux distributions

So, what I’m going to do is show you how to alter the file permissions in such a way that any valid user can read/write to the directory /user/share/data. Then I’ll show you how to set the permissions in such a way that a file can be run like an app, which comes in handy when creating scripts.

READ MORE  Lots of People Make Money on Fanfic. Just Not the Authors

Ready? Let’s do this.

Changing file and folder permissions

What you’ll need: For this feature, you’ll need a running instance of Linux, which can be any distribution and either a desktop or server. You’ll also need a user with sudo privileges. That’s it. 

With the mkdir command we used earlier, we’ve created the directory /usr/share/data. We can set this directory such that any folder or file created within it enjoys the read/write permissions with the command:

sudo chmod -R ugo+rw /usr/share/da

Let me explain the above command:

chmod — This is the command used to modify the permissions.-R — Informs chmod that we’re working recursively, so every file and/or folder will inherit the same permissions.ugo — Means users, groups, and others (so, everyone).rw — Means read/write permissions.

A couple of things to keep in mind. First, you don’t have to give permissions to all three types. You could give permissions to just u (user), g (group), or o (other). You can also give just r (read), w (write), or x (executable) permissions. For instance, you could give all users write permissions with:

sudo chmod -R u+w /usr/share/data

Also, if you’re working with a file and not a folder, simply remove the -R option from the command.

Once you’ve issued the command, you can verify it worked by issuing another command:

touch /usr/share/data/test

The above command will create an empty file, called test, in /usr/share/data. If the command worked, congratulations, you’ve successfully changed the permissions of the folder.

Say you’ve created a script that will back up the contents of your ~/Documents directory. To run that script, it must have executable permissions, which can be done with the chmod command. If your script is called backup, the command to give it executable permissions would be:

READ MORE  Traveling soon? Take this 6-port charger with you, and this Black Friday save 30%

Make sure to run the above command in the directory housing the script. To run the script, you could issue the command:

You can also remove permissions with the chmod command. Let’s stick with our earlier example. You now want to remove read/write permissions for the /usr/share/data directory. To do that, you would substitute – for +, so the new command would be:

sudo chmod -R ugo-rw /usr/share/data

At this point, no one would be able to read or write data to the directory.

Also: How to choose the right Linux desktop distribution for you

Now, this isn’t the best method of adding or removing permissions on Linux because you wouldn’t want to give every single user on a system access to modify a directory. A better way of handling this task is using groups. I’ll explain that feature in an upcoming tutorial. Until then, keep practicing with this simple method of changing permissions on files and folders in Linux.

Leave a Comment