不允许符号链接或链接目标无法访问

LvS*_*LvS 1 linux apache .htaccess

我的网络服务器上有一个文件夹,另一个用户的public_html有一个符号链接到这个文件夹.用于集中某些内容.

我可以完美地包含此符号链接文件夹中的文件.但是,我无法直接访问文件(例如test.html或test.php).

如果我尝试直接访问文件,我会在浏览器和日志文件中看到一个禁止的错误:

不允许符号链接或链接目标无法访问

我试图编辑我在互联网上找到的httpconf,试图将.htaccess放在符号链接所在的文件夹中等等.但到目前为止没有任何帮助.

附加信息:我的网络服务器运行CentOS 6.5版(最终版)Apache 2.2.27

对链接文件夹的父文件夹的权限:777

链接文件夹的权限:777

我已将它们从644设置为777以进行测试

请注意我是一个遇到问题的程序员,而不是linux专家:)

***我仍然没有一个有效的解决方案.我可以通过包含它们来使用这些文件,就好了,不要直接调用任何文件,例如图像,样式表.我不知道提供哪些其他细节将有助于解决这个问题.链接,文件夹和父文件夹的权限正常更改任何链接或文件夹的所有者也不会给出任何结果选项中的.htaccess中的FollowSymLinks包含链接的文件夹,该文件夹的父文件,目标文件夹和目标父文件文件夹,它似乎没有任何帮助.我可以不执行文件,真的需要

LvS*_*LvS 7

事实证明,符号链接本身需要由与原始链接文件夹相同的用户拥有

chown -R username: linkname
Run Code Online (Sandbox Code Playgroud)

这对我有用

您可以查看权利

 ls -la
Run Code Online (Sandbox Code Playgroud)

然后,看到实际用户拥有的所有文件看起来有点奇怪,除了原始用户拥有的符号链接.

希望这也可以帮助其他类似的问题!


小智 6

首先,我建议在您的问题中包含一些详细信息。例如,目录和文件的权限会很有帮助,什么发行版等。

我的水晶球分析: - 您的网络服务器(apache)以用户 www-data 身份运行 - 您的 php 运行 suexec 用户 A / 用户 b。- www-data 用户无法访问该文件,因为该文件或其父目录 (!) 的 www-data 权限不足。

你可以这样做:

$ sudo -u www-data ls -lah /path/to/your/file
Run Code Online (Sandbox Code Playgroud)

...查看您的网络服务器用户看到的内容。

$ ls -lah  /path/to/your/file
Run Code Online (Sandbox Code Playgroud)

...检查该文件设置了哪些权限。(团体/世界可读?)

$ ls -dlah  /path/to/your
Run Code Online (Sandbox Code Playgroud)

...检查父目录的权限(www-data 需要 x 标志),

HTH,j。