Det är egentligen inte svårare än att köra chroot med katalogen som argument.
Men att helt byta root för en användare som som arbetar i skalmiljö är troligen rätt bökigt, eftersom alla program, delade bibliotek, datafiler o.s.v. som den användaren behöver ha tillgång till måste finnas tillgängliga från den nya rooten.
Vad du behöver om du ändå vill prova detta, är någon typ av wrapper som används som den användarens inloggningsprogram (i vanliga fall körs ju skalet när någon loggar in, men det går att ange vilket program som helst i /etc/passwd). Denna wrapper kör då först chroot för att sedan starta skalet (t.ex. bash) i den nya root-miljön.
Har inte hittat någon sådan färdig wrapper för Linux (borde finnas tycker man). Däremot en för FreeBSD som kanske går att modifiera.
Tydligen skall OpenSSH (måste patchas), och möjligen SSH2 innehålla stöd för chroot, så genom att skippa telnet för dessa användare och tvinga dem att använda SSH så kan du eventuellt slippa den wrapper jag nämde i föregående inlägg. Har inte tittat på möjligheten i detalj, men jag misstänker starkt att problemet med att filer, delade objekt (.so) o.s.v. fortfarande måste hårdlänkas så att de kan nås från den nya rooten. Krävs lite jobb för att sätta upp en sådan här miljö alltså.
Vad jag ska använda det till är egentligen så att en användare måste logga in på maskinen för att sköta en IRC bouncer, han ska inte komma åt systemet alls. Så jag tänkte flytta hans root till en avsides mapp och flytta in de program han behöver, inte speciellt många :)
Testade nyss att ladda ner den och kompilera på min RH-burk, och den kompilerade i.a.f. utan protester (har dock inte testat att sätta upp en chroot-miljö).
Vad är det som felar när du försöker? Några felmeddelanden?