O que você está pedindo é essencialmente conhecido como uma cadeia, em que um usuário está confinado a um certo subconjunto do sistema (por exemplo, a pasta pessoal). Felizmente, os usuários no Linux já possuem uma configuração de pasta base, portanto, você pode simplesmente usar essa cadeia.
Agora, configurar uma cadeia é um assunto complicado complicado e é fora do escopo desta questão.
Agora, supondo que você tenha uma cadeia de trabalho, basta vincular a pasta correta à home do usuário:
mount --bind /var/www/username /home/username/www
Embora isso honestamente não seja uma boa opção. Se você está apenas hospedando um usuário, permita que eles se conectem através de FTP e apenas os prendam à sua "casa" (a pasta para a qual eles têm admin). Não é necessário que eles tenham um shell no seu servidor.
A questão que você ligou tem um conceito muito bom de como prender usuários, mas funciona apenas com FTP e derivativos, não com o próprio SSH bruto. E, como mencionei antes, executar o SSH bruto é realmente uma má ideia.
Por fim, parece que você está agindo como um host da web. Por que não usar apenas um painel de controle como Froxlor ? Ele cuida da maior parte do trabalho pesado para você e permite que você defina cotas e outras coisas que podem ser de interesse. Além disso, ele gerencia as cadeias de FTP e similares automaticamente para você, permitindo que você contorne a dor de cabeça que está sendo presa.