Instalação do Ubuntu
Durante a instalação definiu-se o usuário "ti" (passível de se tornar "root") e que possui uid=1000, já seu grupo "ti" com gid=1000 foi criado automaticamente. Após a instalação foi criado o usuário genérico "aluno" com uid=10000, de maneira que todos os demais usuários possam pertencer ao grupo "aluno" com gid=10000.
Para evitar que seja criado um grupo para cada usuário, pode-se utilizar o parâmetro "--gid 10000" no comando "adduser". Note que o "home" do usuário aluno será "/home/aluno", mas no entanto, o "home" dos demais usuários deverá ficar em "/home/users/", pasta que será posteriormente exportada pelo NFS (veja também o parâmetro "--home" do comando "adduser").
# id ti
uid=1000(ti) gid=1000(ti)
grupos=1000(ti),4(adm),20(dialout),24(cdrom),46(plugdev),105(lpadmin),119(admin),122(sambashare)
# adduser --uid 10000 --disabled-login aluno
Adicionando o usuário `aluno' ...
Adicionando novo grupo `aluno' (10000) ...
Adicionando novo usuário `aluno' (10000) ao grupo `aluno' ...
Criando diretório pessoal `/home/aluno' ...
Copiando arquivos de `/etc/skel' ...
Changing the user information for aluno
...
# id aluno
uid=10000(aluno) gid=10000(aluno) grupos=10000(aluno)
...
# mkdir /home/users
NFS no Servidor
Para promover o compartilhamento de arquivos, basta o pacote "nfs-kernel-server" e suas dependências. Após sua instalação verifique se o serviço está funcionando, e em caso negativo tente reiniciá-lo.
# apt-get install nfs-kernel-server
# /etc/init.d/nfs-kernel-server status
nfsd running
# /etc/init.d/nfs-kernel-server restart
* Stopping NFS kernel daemon [ OK ]
* Unexporting directories for NFS kernel daemon... [ OK ]
* Exporting directories for NFS kernel daemon... [ OK ]
* Starting NFS kernel daemon [ OK ]
Para exportar a pasta "/home/users", acrescente a seguinte linha ao final do arquivo "/etc/exports", adaptada ao endereço IP de seu servidor. Além disso, saiba que existem outros parâmetros além de "rw", "async", "root_squash" e "no_subtree_check". Note que "/16" indica a máscara "255.255.0.0", caso esteja utilizando a máscara "255.255.255.0" utilize "/24".
/home/users 192.168.0.0/16(rw,async,root_squash,no_subtree_check)
O comando "exportfs" permite visualizar (-v) ou atualizar (-a) as partições exportadas. Caso a partição "/home/users" NÃO esteja de fato exportada, cogite a hipótese de reiniciar o servidor. Caso algum firewall esteja sendo executado, certifique-se que as portas 32771, 111 e 2049 estejam abertas.
# nano /etc/exports
# exportfs -v
# exportfs -va
exporting 192.16.0.0/16:/home
# exportfs -v
/home/users 192.168.0.0/16(rw,async,wdelay,root_squash,no_subtree_check)
# shutdown -r now
NFS no Cliente
Para que as estações de trabalho possam acessar o compartilhamento NFS, basta o pacote "nfs-common" e suas dependências. Assim como no servidor, o "home" dos usuários ficará em "/home/users", lembrando que tal configuração também será gravada na base de dados do LDAP.
# apt-get install nfs-common
# mkdir /home/users
Para que a estação possa montar automaticamente a pasta "/home/users" do NFS, acrescente a seguinte linha ao final do arquivo "/etc/fstab", adaptada ao endereço ip de seu servidor.
192.168.0.2:/home/users /home/users nfs defaults 0 0
Utilize o comando "mount" sem parâmetros para visualizar os pontos de montagem, e em seguida tente montar "/home/users", para o qual nenhuma mensagem será dada em caso de sucesso. Neste ponto, será possível acessar "/home/users" mas SEM permissão de escrita. Reinicie a estação de trabalho para garantir que a montagem esteja de fato automática. Note que, embora o compartilhamento NFS esteja funcionando, o comando "id aluno" retornará "usuário inexistente".
# nano /etc/fstab
# mount
# mount /home/users
# mount
...
192.168.0.2:/home/users on /home/users type nfs (rw,addr=192.168.0.2)
...
# id aluno
id: aluno: Usuário inexistente
...
# umount /home/users
# shutdown -r now