Meu entendimento é que você deseja que a maioria dos usuários não consiga ver o conteúdo de /home , enquanto ainda permite que eles efetuem login e usem o sistema normalmente, permitindo que o grupo apache veja o conteúdo de /home .
Para diretórios, os usuários devem ter permissão de execução para fazer QUALQUER COISA com o conteúdo, incluindo cd para eles. Assim, usuários sem permissão de execução em /home não poderão nem mesmo ver que seus diretórios home existem, quanto mais iniciar um shell neles.
Tente isto:
sudo chown root:apache /home # owner=root, group=apache
sudo chmod 751 /home # rwxr-x--x
Isso deve permitir que o grupo apache (e impedir que todos os outros) listem o conteúdo de /home , enquanto ainda permite que cada usuário acesse seu diretório pessoal individual.
Observe que isso não impede que os usuários obtenham informações em diretórios em /home , se já souberem seus nomes. ls /home não deve funcionar, mas ls -ld /home/$anything irá. Você pode impedir que usuários que não sejam apache façam algo dentro dos diretórios home dos outros, definindo-os como $user:apache rwxr-x--- :
sudo chown $user:apache ~$user # owner=$user, group=apache
sudo chmod 750 ~$user # rwxr-x---
Você precisará fazer isso para cada usuário existente com um diretório inicial e para cada novo usuário que criar, no entanto.