786

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.

user2413
  • 14,957

9 Answers9

944

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>
Ikke
  • 9,673
544

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

sudo chown -R $USER ~/.blabla

If you also want to change the group using the same user, you can:

sudo chown -R $USER:$USER ~/.blabla

FYI: In a standard Ubuntu setup, many folders have the same user and group, named after ther user. You can see that running ls -l. If $USER is username:

$ ls -l $HOME

user (owner)

| group

| /

drwxr-xr-x 0 username username 4096 jan 28 10:03 Documents drwxr-xr-x 0 username username 4096 jan 28 10:40 Downloads

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.

AndyB
  • 439
12

you should try chmod -R

Praweł
  • 6,536
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
Benyamin Jafari
  • 4,234
  • 4
  • 27
  • 37
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 {}
1

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

Before Screenshot: enter image description here

After Screenshot: enter image description here

Gene
  • 121