Боюсь, немного поздно, но я только что нашел это. Здесь много путаницы / дезинформации в комментариях. Вы можете делать все, что хотите, в рамках этих основных принципов. Я предполагаю, что пользователь и группа httpd (см. Директивы User и Group в httpd.conf) - это apache и apache; замените вашу собственную установку.
1 - обслуживаемые файлы должны быть доступны для чтения пользователю 'apache'
2 - каталоги должны быть доступны для поиска пользователем 'apache'
3 - программы CGI должны запускаться пользователем 'apache'
4 - пользователь 'apache' не должен иметь никаких файлов
5 - пользователю 'apache' не должно быть разрешено писать любые файлы
6 - группе 'apache' не должно быть разрешено владеть или записывать любые файлы
Ваша установка - где root владеет файлами - приемлема, но в большинстве установок имеет больше смысла, что тот, кто должен модифицировать файлы (через ftp / etc), должен либо (а) владеть ими, либо (б) находиться в группа, которая имеет права на запись для файлов.
Придумайте схему, которая соответствует всем этим критериям, и вы должны быть в порядке. Очевидно, что не позволяйте «другим» иметь разрешения, которые не нужны. Однако для пользователя «apache» нормально находиться в «других», поэтому для файлов обычно требуются разрешения на чтение для других. Разместите ваше конкретное решение здесь, если хотите, чтобы оно было проверено.