因此,对于 Apache 和 Ubuntu 来说,我还是个新手,但我知道基础知识(文件移动、复制、编辑等)。
我试图解决 PHP 权限问题,因此我使用 将/tmp/
和/var/tmp/
权限设置为 777。chmod
然后,我修改了 和 中的两个文件php.ini
,以自定义临时目录。但是,我最终重新启动了服务器,而没有真正创建临时目录(哎呀)。/etc/php/
/etc/php5/
现在我仍然可以通过 SFTP 连接到我的服务器,但在 Chrome 中尝试连接时,它给出了一个ERR_CONNECTION_REFUSED
。我以为是页面问题.php
,所以我尝试加载一个.html
页面。没有。我尝试过多次重新启动,但无济于事。
此外,我的整个文件系统都是只读的。所以我假设我在配置中弄乱了一些东西,为了安全起见,一切都被锁定了。我试过sudo su
,重新安装驱动器(由于我无法写入某些配置文件而被阻止),以及一堆其他东西。我在执行以下操作时也收到错误fsck
:fsck.ext4: unable to resolve UUID: xxxxxxxx
。同样,无法通过重新安装自动修复任何错误,因为我无法写入某些配置文件。
我尝试查看 中的系统日志/var/log/
,但找不到任何错误消息。我相信这是 PHP 配置的问题,但我不确定。我还查看了我的 UFW,发现它已被禁用。当我尝试启用它时,它再次不让我启用,因为我无法写入文件系统。所有这些都在 中sudo
。
非常感谢您的帮助。谢谢!
编辑:我设法以 root 身份找到了我的 bash 历史记录,但似乎没有什么太奇怪的:https://pastebin.com/yPh5rSE6
编辑2:我记得一件事,在修改 的权限时/var/tmp/
,文件夹有一个粘性位;我相信权限是drwxrwxrwt
。更改它是否是服务器崩溃的错误?我无法更改它,因为我已将其安装为只读文件系统。
编辑3:因此,问题似乎与权限有关,导致启动时出错并将文件系统锁定为只读,从而扰乱了 Web 服务器。这听起来可信吗?问题似乎源于在两个地方出现的 UUID 错误,fsck
以及mount
。我该如何解决这个问题?
答案1
系统自发开始将根分区挂载为只读是不寻常的。UUID 错误表明/etc/fstab
文件和硬盘检测存在问题。
首先尝试重新挂载根分区rw
并明确设置分区名称。使用命令df
显示哪个分区被挂载为/
。然后使用sudo mount -o remount,rw
带有分区位置和的命令/
。
希望成功之后,是时候调试只读启动了。验证/etc/fstab
文件的状态。语法是否正确?此处指定的所有驱动器和分区是否真的存在?挂载点是否没有明确的ro
挂载选项/
?如果文件包含任何 UUID,请检查它们是否存在,/dev/disk/by-uuid/
并检查这些文件是否链接到现有的驱动器分区。
在您纠正了所有可能的错误后,请/etc/fstab
重新启动机器并修复tmp
文件夹的权限(如果这些权限尚未自动修复)。
如果在模式下重新安装根分区rw
仍无法找到明确的驱动器位置,请检查硬盘是否可能损坏。查看dmesg
命令的输出并查阅互联网以查找任何提示 I/O 问题的消息。如果您已smart
安装,请使用该命令sudo smartctl -a /dev/<drive>
验证它是否已损坏。
尝试完所有这些之后请回复我们。