403尝试下载使用SSH上载的文件时禁止

我有FTP访问Linux上的Apache服务器上传文件,以便他们可以从网上下载。

我最近被授予SSH访问额外的权限,并认为将文件直接下载到服务器会更快,而不是下载到我的机器,然后FTP到服务器。

当我使用SSH下载文件到服务器,然后将其放置在public_html目录中时,它从Web中不可见。 权限(来自SSH和FTP客户端)与所有其他可见文件相同,但在目录列表中不可见,如果我尝试在浏览器中input文件名,则会出现403错误。

很明显,当我FTP服​​务器的文件发生了其他事情,使其networking可见,我目前不知道。

我错过了什么导致该文件从networking中不可见? 我该如何解决?

可能的原因:

  • umask问题(Unix文件权限)
  • selinux上下文
  • 扩展ACL

您通过SSH连接到一个帐户,可能是root或任何其他权限,可能会阻止www-data(Apache)访问您上传的文件。 所以你可以做一个chown www-data:www-data yourfile让它们可以被Apache访问(确保包含它们的目录可以被Apache访问)

SSH到服务器,并进入该文件夹。 然后做:
ls -al
这将显示该目录中所有文件的所有权和权限。 在这里粘贴输出(我们只需要看到不可见文件的条目和可见文件的可比条目)

我将一些文件从服务器#1传输到服务器#2。 现在我想将它们从服务器#2传输到服务器#1首先我将文件移动到可从Web(用户名:usr1)访问的帐户mkdir / home / usr1 / public_html / publicFiles mv /*.tar / home / usr1 /的public_html / publicFiles

那么:cd / home / usr1 / public_html / publicFiles chown usr1:usr1 * .tar chmod 0644 * .tar

ls -l输出:-rw -r -r– 1 usr1 usr1 22375680000 Sep 20 04:37 file1.tar -rw -r – r– 1 usr1 usr1 28196495360 Sep 20 17:51 file2.tar -rw- r – r– 1 usr1 usr1 598691840 Sep 22 04:45 file3.tar

然后我打开FF并inputSiteName.com/publicFiles输出:

/ publicFiles的索引

图标名称上次修改时间大小说明[DIR]父目录 –
[] file3.tar 22-Sep-2010 04:45 571M

只显示file3! 即使使用直接链接,我也无法访问file2和file3! 错误403发生!

请注意,File3是571 MB和file1&file2大于25 GB我认为原因是文件大小