Existem várias maneiras de fazer isso. Eu recomendaria uma solução baseada em LDAP para autenticação e gerenciamento de usuários, e NFS para armazenamento.
A seguir, suponho que por "Terminais" você não quer dizer encaminhamento de servidor X, mas sim sessões locais reais. Para servidores de terminal reais, o servidor executa os aplicativos e o cliente simplesmente exibe a "GUI". Mais informações sobre essa configuração aqui .
Isso também me lembra: Edubuntu pode valer a pena dar uma olhada em você.
Gerenciamento de usuários
Você precisa de um banco de dados centralizado para armazenar nomes de usuários e senhas. O LDAP é uma solução para isso. É um banco de dados em execução no seu servidor, e os clientes usam a arquitetura PAM do Linux para se conectarem a ele para autenticação.
Armazenamento
O NFS é um sistema de arquivos de rede. Simplificado, isso significa que você pode montá-lo na rede, como uma partição local. Em poucas palavras, é semelhante ao smb, o protocolo "drives compartilhados" do Windows. No seu caso, você montaria o diretório pessoal do usuário a partir do servidor NFS central após o login.