Получается, что одними правами не настроить, все-таки.
Ну наверно я не так выразился. Под правами я имею ввиду разграничение доступа на уровне разных uid. Ясное дело, что тут должны быть разные uid. Этот вопрос и решают начиная от родного апачевского suexec-а и заканчивая нынешними пулами php-fpm.
Для этого есть только два пути:
Либо дать читать файлы сайта всем, либо добавить пользователя в группу веб-сервера и дать доступ на чтение группе.
Не пользователя в группу веб-сервера, а веб-сервер в группу пользователя.
Есть еще ACL, которым просто можно дать веб-серверу права чтения.
Есть еще всякие другие способы, которые идут уже в обход стандартных прав доступа, но редко используются.
Шаред уже давно не развивается, по-этому все решения в общем стары и колеблются между двумя крайностями: с одной стороны апач+mod_php под юзером веб-сервера и кучей патчей, что бы php скрипты не лезли к чужим, и с другой стороны - все под uid пользователя включая апач.
Ну, середина, которая чаще всего встречается - дать веб-серверу, который обслуживает статику, читать всех, а все исполняемое пользователем - под его uid. Так как веб-сервер - достаточно доверенная среда и пользователь почти не может влиять на него - получается достаточно секьюрно (хотя свои подводные камни есть, например, символьные ссылки, которые приходится отключать).