Amazon EC2 apache 根目录丢失文件读取权限。有什么想法吗?

Amazon EC2 apache 根目录丢失文件读取权限。有什么想法吗?

发生了什么:

我开发了一个 LAMP 网站,客户要求我将其安装到他们的 EC2 实例上,Amazon Linux AMI 版本 2017.03

通常我将它们托管在我的 Centos 服务器上或一些常规的网络托管服务提供商处。

我于 8 月 17 日安装了该网站,一切正常,每天大约有 2000 名访问者。

客户今天打来电话说该网站瘫痪了。错误 500。

我登录后立即发现,Web 根文件夹中的所有文件均已递归丢失了所有 r 位。所有其他权限(如 w、x 和粘性位)均不受影响。

我为用户和组执行了 chmod +r 操作,一切又开始正常工作了。

错误日志:

[Wed Sep 06 16:01:01.734067 2017] [mpm_prefork:notice] [pid 14111] AH00171: Graceful restart requested, doing restart
[Wed Sep 06 16:01:02.327167 2017] [auth_digest:notice] [pid 14111] AH01757: generating secret for digest authentication ...
[Wed Sep 06 16:01:02.329737 2017] [lbmethod_heartbeat:notice] [pid 14111] AH02282: No slotmem from mod_heartmonitor
[Wed Sep 06 16:01:02.699353 2017] [mpm_prefork:notice] [pid 14111] AH00163: Apache/2.4.25 (Amazon) configured -- resuming normal operations
[Wed Sep 06 16:01:02.699380 2017] [core:notice] [pid 14111] AH00094: Command line: '/usr/sbin/httpd'
[Wed Sep 06 16:01:02.730492 2017] [:error] [pid 18035] [client x.x.x.x:60180] PHP Warning:  Unknown: failed to open stream: Permission denied in Unknown on line 0
[Wed Sep 06 16:01:02.730559 2017] [:error] [pid 18035] [client x.x.x.x:60180] PHP Fatal error:  Unknown: Failed opening required '/var/www/html/index.php' (include_path='.:/usr/share/pear7:/usr/share/php7') in Unknown on line 0

最后两行重复直到结束......

访问日志或消息中没有什么特别之处。

有趣的是,这恰好发生在 Web 服务器访问日志轮换时。但这些日志每周轮换一次,之前没有出现过问题。

编辑:我检查了一下,过去两周内没有登录过,而且在此之前它一直是我的 IP。

我的问题是:是什么原因导致文件的读取权限被删除以及如何避免这种情况?

编辑 2:看来这是人为错误。请参阅下面的评论。

答案1

监控日志轮换(尽管我怀疑这是原因),并在下次运行时立即检查。检查您的 cron 任务以确保那里没有发生任何异常。

如果不是这个问题,那么很可能是有人意外运行了它并把它破坏了!

相关内容