У меня есть каталог, содержащий множество файлов, и я хотел бы получить к нему доступ и использовать его в качестве пользователя, используя Softlink в каталоге /opt
, но сохраняя его в каталоге /root
:
root@computer:~# ll myDirectory_v11
root@computer:~# drwxr-xr-x 6 root root 4096 Jun 25 12:45 myDirectory_v11
[ 119] Теперь я создаю Softlink:
root@computer:~# ln -s /root/myDirectory_v11 /opt/myDirectory
Чтобы получить доступ и запустить программное обеспечение внутри, я меняю владельца, например:
root@computer:~# chown -R myUser:myUser /opt/myDirectory
Это не возвращает ошибку и перечисляет ее внутри / opt подтверждает, что все прошло хорошо. Владелец изменился правильно.
После выхода из root и попытки перейти в / opt / myDirectory я получаю bash: cd: /opt/myDirectory: Keine Berechtigung
.
Я много чего перепробовал, например. использование флага -hR
для запрета разыменования или попытки sysctl -w fs.protected_symlinks=0
безрезультатно. Это как-то связано с каким-то прилипанием? Если да, то как преодолеть проблему?
Как уже упоминалось в комментариях, в /root
отсутствует разрешение на выполнение. Если верхние папки не разрешают выполнение, вы не можете заглянуть внутрь подпапок (даже если у вас есть разрешения для этих папок)
. Поэтому добавьте разрешение на выполнение для корневой папки с помощью:
$ sudo chmod a+X /root
И это будет работать.
Совет, не храните ничего в папке /root
! Для этого нет веских причин. Это дом пользователя root и не должен использоваться ни для чего другого. Поэтому после проверки работоспособности удалите разрешение с помощью sudo chmod go-X /root/