ls: cannot open directory: Permission denied

This error makes sense if you don't have enough privileges to read that directory. try changing the permissions for current user or change the access mode to global i.e 777 For example:

sudo bash
chmod 775 .

This is basically caused when the current user doesn't have enough permission to read/write/execute the contents of that directory.

Here's how you can fix it:

To grant the user permission to just the current directory, you could do this:

sudo chmod 775 directory_name

OR

sudo chmod a+rwx,o-w directory_name

To grant the user permission to the current directory, it's subdirectories and files, you could do this:

sudo chmod -R 775 directory_name

OR

sudo chmod -R a+rwx,o-w directory_name

Note:

  • chmod means change mode or in a more literal sense change access permissions.
  • -R means change files and directories recursively.
  • a means all users
  • r means read permission
  • w means write permission
  • x means execute permission
  • o means others
  • + means add
  • - means remove.

So it means recursively add read, write and execute permissions to everyone, but then remove write permissions from others.

That's all.

I hope this helps