【问题标题】:Linux - Difference between transferring files and creating them - PermissionsLinux - 传输文件和创建文件之间的区别 - 权限
【发布时间】:2015-05-17 09:04:51
【问题描述】:

我在运行 Centos 的机器上运行 Apache Web 服务器。

问题:

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

<!DOCTYPE html>

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

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

注意

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

感谢您的帮助

【问题讨论】:

  • 你检查selinux状态了吗??
  • 是的,我也试过禁用它,我不认为 selinux 是这里的问题,因为我可以连接到服务器
  • 您是否正在移动在 Windows 操作系统中创建的文件?如果是,则尝试使用 dos2unix filename.html filename 转换 Unix 格式
  • 我没试过,但这听起来和下面提到的一样。感谢您的帮助。

标签: html linux apache permissions webserver


【解决方案1】:

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

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

【讨论】:

  • 原始文件是在windows机器上创建的,然后移动到linux机器上
  • 这也适用于 selinux 吗?
  • 我更改了 html 文件夹的权限以允许我从闪存驱动器拖放文件,然后将权限更改回来。
  • 整个闪存驱动器在挂载时会被分配一个文件上下文,所以它得到了那个。
  • 男人,我爱你!这就是问题所在。你搞定了。非常感谢!
猜你喜欢
  • 2011-08-18
  • 2016-06-14
  • 1970-01-01
  • 2013-08-25
  • 1970-01-01
  • 1970-01-01
  • 2013-11-07
  • 2012-02-17
  • 2011-07-29
相关资源
最近更新 更多