Uma maneira é usar grupos por usuário (ou seja, um grupo para cada usuário) e, em seguida, definir as permissões do diretório base para root: smith, mode 0770.
Outra maneira (mais hacky) é fazer o script: Crie um script que inspecione todos os diretórios home (obtê-los via setpwent () / getpwent ()) que residem em / home (por exemplo, não / root) e faça-o avisar quando há uma discrepância ou alterar as permissões no local.
Eu fiz este último em um ambiente multiusuário no passado e trabalhei por anos como um charme.