使用户主目录中的文件可从 web/web 服务器访问

使用户主目录中的文件可从 web/web 服务器访问

我的用户主目录中有一个 txt 文件,该文件会通过脚本定期更新。我现在希望能够从 Web 访问(读取)此文件。

/home/user/folder/file.txt

所以我现在尝试以 root 身份登录,进入我的网络服务器 httpdocs 文件夹

/var/www/path/to/domain/httpdocs

然后我尝试创建一个符号链接

ln -s /home/user/foler/file.txt /var/www/path/to/domain/httpdocs/file.txt

但这不起作用...我已经尝试更改符号链接的 chmod(当然会更改原始文件的 chmod)以及来自网络服务器的 chown 到用户,但无论我尝试什么,我都无法从网络或 php 脚本打开该文件(这是我想要做的)

有人能帮助我并告诉我我需要做什么吗?我需要授予什么权利?或者还有其他方法可以实现这一点吗?

答案1

符号链接将始终具有以下权限:lrwxrwxrwx。““表示它是一个链接。因此,所有用户都可以访问该链接,因为有效权限是链接指向的文件的权限。尝试更改符号链接的权限永远没有用。

从根目录到相关文件的整个路径必须对 Apache 用户可读。因此...查看主文件夹的权限:

ls -la /

主目录应由 root 拥有,由 root 拥有的组,默认情况下具有 0755 权限掩码:drwxr-xr-x。如果不是,请更改它:

sudo chown root:root /home; sudo chmod 0755 /home

现在看一下您的用户目录:

ls -la /home

如果有问题的用户名是桑搏,用户的主目录应归 sambo 所有,归 sambo 所有组,默认权限掩码为 0755:drwxr-xr-x。如果不是,请将其更改为:

sudo chown sambo:sambo /home/sambo; sudo chmod 0755 /home/sambo

重复此操作多次,直到找到包含该文件的目录为止。然后,不要忘记文件本身。

sudo chown sambo:sambo /home/sambo/path/to/file/file.txt; sudo chmod 0644 /home/sambo/path/to/file/file.txt

然后使用PHP打开:

<?php
    $file = '/home/sambo/path/to/file/file.txt';
    $fp = fopen($file, 'r');

此时您也可以使用符号链接。

答案2

我能够使用以下方式从我的系统访问文件梅迪亚墓(看文档),因为它有一个 Web UI。我建议至少启用密码保护。

另一种选择是 opera unite 网络服务器。

相关内容