Назад | Перейти на главную страницу

Amazon EC2 apache root dir потерял доступ для чтения файла. Любые идеи?

Что произошло:

Я разработал веб-сайт LAMP, и клиент попросил меня установить его на их экземпляр EC2, Amazon Linux AMI выпуска 2017.03

Обычно я размещаю их на своем сервере Centos или у какого-нибудь обычного провайдера веб-хостинга.

Я установил сайт 17 августа, и все работало, около 2000 посетителей в день.

Клиент звонил сегодня, этот сайт не работает. Ошибка 500.

Я вошел в систему и сразу увидел, что рекурсивно все файлы в корневой веб-папке потеряли все r-биты. Все остальные права, такие как w, x и липкие биты, остались без изменений.

Я chmoded + 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

и последние две строчки повторяются до конца ...

Ничего особенного в журнале доступа или сообщениях.

Забавно, что это произошло именно во время ротации логов доступа к веб-серверу. Но раньше эти журналы менялись еженедельно и без проблем.

Изменить: я проверил, что за последние две недели не было входа в систему, и даже до этого это всегда был мой IP.

У меня вопрос: что привело к удалению доступа для чтения к файлам и как этого избежать?

Изменить 2: похоже, что это была человеческая ошибка. См. Комментарий ниже.

Следите за ротацией журнала (даже если я сомневаюсь, что это причина) и проверяйте, как только он запустится в следующий раз. Проверьте свои задачи cron, чтобы убедиться, что и там не происходит никаких странностей.

Если проблема не в этом, есть вероятность, что кто-то случайно запустил его и сломал!