用户权限被拒绝在 root 的家中关注 Softlink

Sem*_*emo 2 permissions symbolic-link chown

我有一个包含大量文件的目录,并希望通过/opt目录中的软链接以用户身份访问和使用它,但将其保留在/root目录中:

root@computer:~# ll myDirectory_v11
root@computer:~# drwxr-xr-x  6 root root 4096 Jun 25 12:45  myDirectory_v11
Run Code Online (Sandbox Code Playgroud)

现在我创建一个软链接:

root@computer:~# ln -s /root/myDirectory_v11 /opt/myDirectory
Run Code Online (Sandbox Code Playgroud)

为了获得访问权限并在内部运行软件,我更改了所有者,例如:

root@computer:~# chown -R myUser:myUser /opt/myDirectory
Run Code Online (Sandbox Code Playgroud)

这不会返回错误并将其列在 /opt 中确认,一切顺利。楼主改好了。

从 root 注销并尝试更改为 /opt/myDirectory 后,我收到一个bash: cd: /opt/myDirectory: Keine Berechtigung.

在 Centos 中,这从来都不是问题。如何使其可供 myUser 访问?

我尝试了很多东西,例如使用-hR标志禁止取消引用或尝试sysctl -w fs.protected_symlinks=0无济于事。它与一些粘性位有关吗?如果是这样,如何克服这个问题?

Sim*_*ler 7

如评论中所述,/root缺少执行权限。如果上层文件夹不允许执行,则无法查看子文件夹内部(即使您对此文件夹有权限)

因此,使用以下命令向根文件夹添加执行权限:

$ sudo chmod a+X /root
Run Code Online (Sandbox Code Playgroud)

它会起作用。

忠告,不要在/root文件夹中存储任何东西!没有充分的理由。它是 root 用户的家,不应用于其他任何用途。所以在你测试它可以工作后,删除权限sudo chmod go-X /root/