Файл cat /etc/passwd
по умолчанию доступен только для чтения всем пользователям. Файл не содержит критической информации. Это нормальное поведение для пользователя (будь то www-data /apache или кто-либо еще), чтобы иметь возможность просматривать файловую систему. Однако некоторые файлы ограничены для всех пользователей, кроме суперпользователя (root). Если какой-либо процесс в Apache может получить доступ, например, к /etc/shadow
вас возникла серьезная проблема с правами доступа, поскольку файл содержит зашифрованные пароли всех пользователей.
Теперь, если вы не хотите, чтобы PHP имел доступ к файловой системе, существует несколько способов противодействия этому поведению. Также обратите внимание, что такое поведение само по себе не является угрозой безопасности, так как права доступа к файлам определяют, кто и что может изменять или просматривать файлы / каталоги.
- До PHP 5.4.0 существовал так называемый безопасный режим, который можно было использовать для ограничения доступа пользователей. (у него был ряд проблем и, следовательно, позже он был удален).
- Вы можете запретить все команды оболочки (system, exec, passthru).
- Используйте open_basedir