0

My application is hosted on ubuntu in public_html folder. When I run the command git add . it gives me the error:

warning: could not open directory 'public_html/': Permission denied

Entire code is in public_html folder

How can I solve it?

1
  • Open a terminal and go to the parent folder for public_html and type ls -al make sure that the folder isn't restricted to root. If it is restricted and it's safe to change permissions, do so. If not, move the application to a non-restricted folder
    – Steven
    Commented Oct 3, 2018 at 9:25

1 Answer 1

1

You should make sure so that your user has access or is the owner of the folder and it content. You can check the current owner and permissions by running:

ls -l public_html

Here I list all non-hidden files in a test folder:

who:test who$ ls -l 
total 0
-rwxrwxrwx  1 root  admin  0 Oct  3 18:04 test1
-rwxrwxrwx  1 root  admin  0 Oct  3 18:04 test2

The output shows that both files are owned by the root user and belongs to a group named admin. The first column also shows the access permission, which in this case is set to read and write access to everyone.

If you would like to change the owner you can do:

sudo chown -R <user>:<group> public_html

The above will set the owner of the folder and all its content to the specified user and group; you might need sudo privileges to do this.

There is possible to only change the owner or group with the same command:

sudo chown -R <user> public_html
sudo chown -R :<group> public_html

To change the permission you would use:

sudo chmod -R <mode> public_html

Where mode is the permission, for instance 0777 for full read and write access to everyone. You can also use letters instead of an octal number when setting permissions, for instance:

sudo chmod -R a+rwx public_html

gives the same result as the first chmod command.

References

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