NFSv4 idmapd ignora ninguém usuário

2

Eu tenho uma pasta que pertence a ftp:users . Eu queria exportar essa pasta e ter todas as solicitações mapeadas para o usuário ftp , que possui o ID 107. Em /etc/exports , tenho o seguinte:

/media/other    10.1.1.10(rw,sync,all_squash,no_subtree_check,anonuid=107)

Isso funciona como esperado. No lado do cliente, quero mapear essas solicitações anônimas para um usuário diferente, portanto, em /etc/idmapd.conf , tenho isto:

Nobody-User = nfsanon
Nobody-Group = nfsanon

Mas ao montar o NFSv4, tudo é de propriedade de nobody:users . Ele mapeou corretamente o grupo (que também existe no cliente), mas o ftp user, que não existe no cliente, foi mapeado para nobody em vez de Nobody-User in idmapd.conf .

Para tentar entender por que isso está acontecendo, aumentei a verbosidade e mergulhei nos registros do cliente . Uma tentativa de montagem produz o seguinte:

nfsidmap[8610]: key: 0x28bf0a94 type: uid value: [email protected] timeout 600
nfsidmap[8610]: nfs4_name_to_uid: calling nsswitch->name_to_uid
nfsidmap[8610]: nss_getpwnam: name '[email protected]' domain 'dom.ain': resulting localname 'root'
nfsidmap[8610]: nfs4_name_to_uid: nsswitch->name_to_uid returned 0
nfsidmap[8610]: nfs4_name_to_uid: final return value is 0
nfsidmap[8612]: key: 0xfe99b5c type: gid value: [email protected] timeout 600
nfsidmap[8612]: nfs4_name_to_gid: calling nsswitch->name_to_gid
nfsidmap[8612]: nfs4_name_to_gid: nsswitch->name_to_gid returned 0
nfsidmap[8612]: nfs4_name_to_gid: final return value is 0
nfsidmap[8615]: key: 0x18a11cb type: uid value: [email protected] timeout 600
nfsidmap[8615]: nfs4_name_to_uid: calling nsswitch->name_to_uid
nfsidmap[8615]: nss_getpwnam: name '[email protected]' domain 'dom.ain': resulting localname 'ftp'
nfsidmap[8615]: nss_getpwnam: name 'ftp' not found in domain 'dom.ain'
nfsidmap[8615]: nfs4_name_to_uid: nsswitch->name_to_uid returned -2
nfsidmap[8615]: nfs4_name_to_uid: final return value is -2
nfsidmap[8615]: nfs4_name_to_uid: calling nsswitch->name_to_uid
nfsidmap[8615]: nss_getpwnam: name '[email protected]' domain 'dom.ain': resulting localname 'nobody'
nfsidmap[8615]: nfs4_name_to_uid: nsswitch->name_to_uid returned 0
nfsidmap[8615]: nfs4_name_to_uid: final return value is 0
nfsidmap[8617]: key: 0x3ab07a1f type: gid value: [email protected] timeout 600
nfsidmap[8617]: nfs4_name_to_gid: calling nsswitch->name_to_gid
nfsidmap[8617]: nfs4_name_to_gid: nsswitch->name_to_gid returned 0
nfsidmap[8617]: nfs4_name_to_gid: final return value is 0

Aparentemente, o idmapd do cliente tenta mapear o usuário ftp , que falha.

nss_getpwnam: name '[email protected]' domain 'dom.ain': resulting localname 'ftp'
nss_getpwnam: name 'ftp' not found in domain 'dom.ain'
nfs4_name_to_uid: nsswitch->name_to_uid returned -2

Em seguida, ele realmente tenta mapear nobody em vez de usar o Nobody-User . Como o usuário nobody existe no cliente, isso é bem-sucedido.

nss_getpwnam: name '[email protected]' domain 'dom.ain': resulting localname 'nobody'
nfs4_name_to_uid: nsswitch->name_to_uid returned 0

Não consigo entender por que ele está tentando mapear nobody . Isso pode ser um bug acionado usando anonuid na exportação?

Por questões de integridade, aqui estão os registros do servidor

rpc.idmapd[4726]: nfsdcb: authbuf=10.1.1.0/24,10.1.1.0/25,10.1.1.10 authtype=user
rpc.idmapd[4726]: nfs4_uid_to_name: calling nsswitch->uid_to_name
rpc.idmapd[4726]: nfs4_uid_to_name: nsswitch->uid_to_name returned 0
rpc.idmapd[4726]: nfs4_uid_to_name: final return value is 0
rpc.idmapd[4726]: Server : (user) id "0" -> name "[email protected]"
rpc.idmapd[4726]: nfsdcb: authbuf=10.1.1.0/24,10.1.1.0/25,10.1.1.10 authtype=group
rpc.idmapd[4726]: nfs4_gid_to_name: calling nsswitch->gid_to_name
rpc.idmapd[4726]: nfs4_gid_to_name: nsswitch->gid_to_name returned 0
rpc.idmapd[4726]: nfs4_gid_to_name: final return value is 0
rpc.idmapd[4726]: Server : (group) id "0" -> name "[email protected]"
rpc.idmapd[4726]: nfsdcb: authbuf=10.1.1.0/24,10.1.1.0/25,10.1.1.10 authtype=user
rpc.idmapd[4726]: nfs4_uid_to_name: calling nsswitch->uid_to_name
rpc.idmapd[4726]: nfs4_uid_to_name: nsswitch->uid_to_name returned 0
rpc.idmapd[4726]: nfs4_uid_to_name: final return value is 0
rpc.idmapd[4726]: Server : (user) id "107" -> name "[email protected]"
rpc.idmapd[4726]: nfsdcb: authbuf=10.1.1.0/24,10.1.1.0/25,10.1.1.10 authtype=group
rpc.idmapd[4726]: nfs4_gid_to_name: calling nsswitch->gid_to_name
rpc.idmapd[4726]: nfs4_gid_to_name: nsswitch->gid_to_name returned 0
rpc.idmapd[4726]: nfs4_gid_to_name: final return value is 0
rpc.idmapd[4726]: Server : (group) id "100" -> name "[email protected]"

PS: Antes de qualquer um sugerir, eu não quero voltar para o NFSv3 para "resolver" o meu problema.

    
por Rapsey 26.06.2014 / 19:19

0 respostas

Tags