764

I would like the user to have full rights on this folder (as well as all sub-directories and files in it):

~/.blabla

currently owned by root.

I have found numerous posts (in this forum and elsewhere) on how to do this for files but I can't find a way to do it for whole folders.

4
  • 5
    Could anyone add a graphical method I wonder?
    – 8128
    Oct 13, 2010 at 19:23
  • 3
    @fluteflute is there a graphical method? Oct 13, 2010 at 19:33
  • 2
    gksu nautilus perhaps. I'm not quite sure and would like to know.... ;)
    – 8128
    Oct 13, 2010 at 19:39
  • 2
    simply sudo chown -R username foldername Jun 30, 2018 at 15:44

9 Answers 9

914

Use chown to change ownership and chmod to change rights.

As Paweł Karpiński said, use the -R option to apply the rights for all files inside of a directory too.

Note that both these commands just work for directories too. The -R option makes them also change the permissions for all files and directories inside of the directory.

For example

sudo chown -R username:group directory

will change ownership (both user and group) of all files and directories inside of directory and directory itself.

sudo chown username:group directory

will only change the permission of the folder directory but will leave the files and folders inside the directory alone.

As enzotib mentioned, you need to use sudo to change the ownership from root to yourself.

Edit:

Note that if you use chown <user>: <file> (Note the left-out group), it will use the default group for that user.

If you want to change only the group, you can use:

chown :<group> <file>
8
  • 15
    It should be said that "sudo" is required for chown.
    – enzotib
    Oct 13, 2010 at 9:45
  • 1
    fatanstic. You should consider maybe replacing 'user:user' by username.
    – user2413
    Oct 13, 2010 at 9:48
  • 16
    The predefined variables helped me: sudo chown -R $USER:$USER /path/to/dir. Thanks!
    – Ismail
    Jan 27, 2017 at 13:13
  • 9
    BEWARE of recursively taking ownership of ANY directory. Think before you leap. Don't be chown copypastin' from the internet, kids. Just because you want to install a node package and it won't let you, don't sudo chown -R just because the fist hit from googling the error message says to. Reckless sudo chown -R-ing can kill your OS.
    – Benjamin R
    Jun 10, 2017 at 3:06
  • 2
    It needs to be said that using the -R option only applies to files and folders that exist in the directory already. It does NOT apply to future creations. For example, if you create another folder or file as root within the folder you've already changed permissions on, you will have the same experiences you're having now until you chmod\chown them again.
    – addohm
    Dec 27, 2017 at 0:02
522

Make the current user own everything inside the folder (and the folder itself):

sudo chown -R $USER ~/.blabla
1
  • 61
    very helpful for newbies (like me) when don't know what to type in 'usergroup' for sudo chown <your username>:<your usergroup> -R <path to>/.blabla
    – quantme
    Jan 5, 2012 at 1:49
65

If you prefer, this can be done with a GUI as well. You will need to open Nautilus as root to do so. Press Alt + F2 to access the "Run Applications" dialog and enter gksu nautilus

Next, browse to and right click on the folder you would like to modify. Then, select "Properties" from the context menu. You can now select the user or group that you would like to be the "Owner" of the folder as well as the permissions you would like to grant them. Finally, press "Apply Permissions to Enclosed Files" to apply the changes recursively.

Though it seems this does not always work for some operations in a deep folder tree. If it does not work use the appropriate terminal command.

alt text

32

If it's owned by root you can do this

sudo chown <your username>:<your usergroup> -R <path to>/.blabla

Since ./blabla owned by root you need to gain root privileges to change that. That's what sudo will do. The -R option for the chown command says: this directory and everything in it recursively.

0
12

you should try chmod -R

6

First, check demo.txt permissions:

# ls -l demo.txt

Out:

-rw-r--r-- 1 root root 0 Aug 31 05:48 demo.txt

In this example change file ownership to vivek user and list the permissions:

# chown vivek demo.txt
# ls -l demo.txt

Out:

-rw-r--r-- 1 vivek root 0 Aug 31 05:48 demo.txt

In this next example, the owner is set to vivek followed by a colon and group ownership is also set to vivek group, run:

# chown vivek:vivek demo.txt
# ls -l demo.txt

Out:

-rw-r--r-- 1 vivek vivek 0 Aug 31 05:48 demo.txt
4

you can use it sudo chmod -R 777 /folderpath such as: sudo chmod -R 777 /opt/lampp/htdocs/ this is for xampp htdocs folder access

2

First chmod -R can mess up your system permissions if you do it on system file and directories by mistake.

Second chmod -R can mess up flags in those folders and is not a good idea to give permissions on some folders to all the users.

You should try and chown instead:

 sudo tree -fai ~/.blabla  | xargs -L1 -I{} sudo chown youruser:youruser {}
0

sudo chown -R -ubuntu:ubuntu ~/PathTo/Folder/dist

Before Screenshot: enter image description here

After Screenshot: enter image description here

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .