User permission denied to follow Softlink in root's home
I have a directory containing a load of files and would like to access and using it as user, via a Softlink in the /opt directory, but keeping it in the /root directory:
root@computer:~# ll myDirectory_v11
root@computer:~# drwxr-xr-x 6 root root 4096 Jun 25 12:45 myDirectory_v11Now I create a Softlink:
root@computer:~# ln -s /root/myDirectory_v11 /opt/myDirectoryTo gain access and run software inside I change the owner, the like:
root@computer:~# chown -R myUser:myUser /opt/myDirectoryThis returns no error and listing it inside the /opt confirms, that all went well. The owner changed correctly.
After logging out from root and trying to change into the /opt/myDirectory, I receive a bash: cd: /opt/myDirectory: Keine Berechtigung.
In Centos this was never an issue. How to make it accessible for the myUser?
I tried a lot of things, e.g. using -hR flag for prohibition of dereferencing or tried sysctl -w fs.protected_symlinks=0 to no avail.
Has it something to do with some sticky-bit? If so, how to overcome the problem?
1 Answer
As mentioned in the comments, the /root is missing the execute permission. If the upper folders do not allow the execution, you cannot look inside the sub-folders (even if you have permissions for this folders)
So add execute permission to the root folder with:
$ sudo chmod a+X /rootAnd it will work.
Word of advice, don’t store anything in the /root folder! There is no good reason for it. It is the home of the root user and should not be used for anything else. So after you tested that it works, remove the permission with sudo chmod go-X /root/