0

I just copied a 2.8 Gb folder to my usr/home directory using Nautilus. It contains many folders and files but I have permission to read none of them. How can I globally set read & write & execute permissions for myself.

I have one user account & the root account on my computer. However I don't want to do everything as root.

0
sudo chown -R username <folderpath>
sudo chmod -R 644 <folderpath>

Explanation:

chown makes the username the owner of the folder (-R does it recursively) chmod changes all the permissions to be read and write for the users. It's an optional step. You can skip it if you know the permissions to be correct and/or have executable files inside the folder with +x set.

  • 1
    chmod -R 644 removes execute permission from directories - which will make everything below <folderpath> inaccessible – steeldriver Mar 9 '18 at 23:17
0

First change the ownership:

sudo chown -R username: <directory>

(the : after the username means in fact the user default group, so it resets the group too at the same time)

Now you do not need sudo anymore you can operate under your normal user account.

First get yourself read and write access to all content:

chmod -R u=rw,go=r <directory>

Which means Read and Write access for User (the user owning the files, so that is you), but only Read for Group and Other. The = means to set the right, whatever it is now, you can also use + and - to respectively add or remove the given permission.

You can prefer:

chmod -R ug=rw,o=r <directory>

or even:

chmod -R ug=rw,o= <directory>

And the result should be clear from the explanation above (I do not know why people absolutely continue to use octal encoding to do the same thing, it has no superior value, but anyway if needed, Read is 4, Write is 2 and eXecute is 1, and you have to add the values. So my last example would be 660)

There is only one remaining step. You need to put the eXecute right on each directory and subdirectory otherwise cd will not work.

For that you can do:

find directory -type d | xargs chmod u+x

The find command like it says will find, starting at directory every object that is of type d, d meaning directory here, and the xargs command will apply the following (chmod u+x) on all of them, and based on the previous explanations, the u+x part should be straightforward.

Also, next time, if you start the copy directly under your username, the permissions should be ok from the beginning. If not it means you may have strange permissions on the top directory where you do the copy.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.