Linux - 传输文件和创建文件的区别 - 权限

Linux - Difference between transferring files and creating them - Permissions

我正在运行在一台机器上安装 Apache Web 服务器 运行安装 Centos。

问题:

当我 运行 服务器时,一切正常,我可以看到欢迎页面。当我尝试将之前创建的 index.html 文件放入 /var/www/html 目录时,会出现问题。当我这样做时,出现错误:禁止访问此服务器上的 index.html。奇怪的是我在这个目录中创建了一个 index.html 文件作为根目录并且它有效。这只是一个简单的测试 html file:

<!DOCTYPE html>

<html>
    <head>
        <h1>Hello World</h1>
    </head>
</html>

这行得通。因此,我尝试将 html 文本从原始 index.html 复制到我在 /var/www/html 目录中专门创建的文本,并且成功了。这里唯一的问题是现在我必须在 html 文件夹中创建大量新文件并将旧文件的内容复制到新文件中。另外,我如何让图像工作?因此,我的问题。那么将文件移动到一个目录和在那里创建它们有什么区别呢?

备注

我知道我已经正确设置了服务器,因为我可以从另一台计算机访问它,所以我认为 httpd.conf 文件没有错误。另外,我没有使用 .htaccess 文件。每个文件的权限是相同的,只有一个有效,一个无效。我尝试过的权限是 -rwxr--r-- 和 -rwxrw-rw- 和 -rwxr-xr-x。我还将文件的所有者更改为相同。我试过将所有者更改为 apache 和 root。运气不好。

感谢帮助

移动文件会保留在原始位置创建文件时分配给该文件的 SELinux 文件上下文。复制它会在新位置重新创建文件,为该位置提供适当的文件上下文。

可以通过 运行 restorecon 在一个目录和其中包含的所有文件上恢复适当的文件上下文。有关详细信息,请参阅 restorecon(8) 手册页。