Eu uso a seguinte configuração:
Servidor NFS (Ubuntu 16.04 LTS)
- nfs-common 1: 1.2.8-6ubuntu1.2
- nfs-kernel-server 1: 1.2.8-6ubuntu1.2
- usuário: teste (uid = 1300)
Cliente NFS
- nfs-common 1: 1.3.4-2.1
- usuário: testmf (uid = 1350)
No lado do cliente, o usuário test
existe com o mesmo UID do lado do servidor. Mas preciso usar o usuário testmf
e não o test
um.
Eu tenho lido muita documentação e respostas do StackOverflow / StackExchange e, por alguns motivos, nada funciona para mim.
Uma das muitas respostas é alterar o arquivo /etc/idmapd.conf
.
Então aqui está nos dois lados:
Servidor
[General]
Verbosity = 0
Pipefs-Directory = /run/rpc_pipefs
# set your own domain here, if id differs from FQDN minus hostname
# Domain = localdomain
[Mapping]
Nobody-User = nobody
Nobody-Group = nogroup
No lado do cliente:
[General]
Verbosity = 9
Pipefs-Directory = /run/rpc_pipefs
# set your own domain here, if it differs from FQDN minus hostname
# Domain = localdomain
Domain = example.com
[Mapping]
Nobody-User = nobody
Nobody-Group = nogroup
[Translation]
Method = static
[Static]
[email protected] = testmf
[email protected] = testmf
test@nfsserver = testmf
E eu uso esse comando para montar o diretório no cliente:
mount 192.168.0.1:/home/test/my_exp_dir /home/testmf/my_imp_dir
E quando eu faço um ls -l /home/testmf/my_imp_dir
recebo algo assim:
-rw-r--r-- 1 test test 326025780 May 9 2017 allCountries.zip
e NÃO
-rw-r--r-- 1 testmf testmf 326025780 May 9 2017 allCountries.zip
Se eu fizer esse ponto, touch testfile
eu entendo:
-rw-r--r-- 1 test test 326025780 May 9 2017 allCountries.zip
-rw-r--r-- 1 testmf testmf 0 Jun 9 18:57 testfile
ou ls -ln
-rw-r--r-- 1 1300 1300 326025780 May 9 2017 allCountries.zip
-rw-r--r-- 1 1350 1350 0 Jun 9 18:57 testfile
Eu tentei aumentar o nível de detalhamento e, em nenhum dos meus logs, posso ver o mapeamento de usuários de um UID para outro, como eu vi em algumas respostas.
As duas coisas que eu pude ver é que a configuração do kernel /sys/module/nfs/parameters/nfs4_disable_idmapping
foi definida como Y
e, mesmo depois de mudar para N
, nada parece funcionar.
A segunda coisa que eu encontrei é que as duas entradas não existem no meu servidor cliente:
- /proc/net/rpc/nfs4.nametoid
- /proc/net/rpc/nfs4.idtoname
E eu não sei como adicioná-lo, especialmente se o nfsidmap não estiver disponível.
Eu li que também preciso reiniciar o serviço idmapd
após essa alteração. Mas no Debian 9 lá não é possível ... Ou pelo menos eu não encontrei como fazer isso ...
Eu também alterei o arquivo /etc/default/nfs-common
para definir a variável NEED_IDMAPD=yes
e ela não faz nada, mesmo depois de uma reinicialização ...
Então, minha pergunta é bem burra, mas como posso ativar o nfsidmapd no Debian Stretch? Eu estou realmente fora de opção, palavras-chave de busca e a documentação oficial do Debian não é realmente útil aqui, exceto se eu for totalmente cego!
Agradecemos antecipadamente por sua ajuda.