Por que o NFS não reconhece um novo UID?

3

Eu tenho dois servidores executando o RHEL6. Eu tenho acesso root para ambos. O servidor principal, ao qual me referirei como server , é um servidor de banco de dados. O servidor de aplicativos, ao qual eu me referirei como client , monta um diretório de server via NFS.

Há um usuário, appuser , em client e server . No entanto, o% UID de appuser em client é 502 . O% UID de appuser em server é 506 .

Ambos os usuários precisam de recursos de leitura e gravação no compartilhamento NFS. Para facilitar isso, criei a participação de appuser on server .

Executando id appuser em cada produção: uid=506(appuser) .

É claro que client não reconhece essa propriedade, pois appuser tem um id diferente em client . Então fiz o seguinte:

  • UID alterado de usuário em / etc / passwd em client para ser 506.

  • Alterou a propriedade do $ HOME de appuser em client para ser appuser novamente para que eu pudesse fazer login.

Agora, quando vou examinar o compartilhamento NFS do lado client , vejo que ele pertence a 502 . 502 é o ID antigo de appuser no cliente. Não posso alterar a propriedade do compartilhamento NFS de client , pois esse é um volume que reside fisicamente em server .

Eu preciso ter certeza de que o compartilhamento NFS mostre a propriedade de appuser de server e client .

Qual etapa eu perdi desde a alteração do appuser id no cliente?

NOTA : Eu não reiniciei client (ou qualquer outra coisa).

    
por AKWF 10.10.2012 / 17:07

3 respostas

2

OK! Eu tenho isso. Encontrei no Bing depois de tentar muitas vezes. Ainda não tenho certeza de que coisa fixa por problema, de duas possibilidades. Mas aqui estão eles.

Há "dizer" na Internet que pode haver problemas de permissão de propriedade do cliente com o NFS v4. Não sei se isso é verdade e não me importo. Alguém tinha algo que eles chamavam de solução. Então eu segui as instruções para forçar o cliente a montar a unidade como NFS versão 3. Então, a primeira coisa que fiz foi alterar minhas permissões de linha de montagem em / etc / fstab a partir disso:

rw,hard,intr

para isso:

rw,hard,intr,vers=3

Além disso, eu iniciei o daemon nfs no cliente, só porque alguém disse para fazer isso:

service nfs start

Então, como eu estava seguindo algumas instruções antigas, verifiquei se o serviço portmap estava em execução no cliente:

service portmap status

e foi saudado com:

portmap: unrecognized service

Depois, descobri que portmap agora está em rpcbind . Então:

service rpcbind status

E eu vi:

rpcbind dead but pid file exists

Então:

[root@myserver customers]# service rpcbind restart
Stopping rpcbind:                                          [FAILED]
Starting rpcbind:                                          [  OK  ]

Em seguida, verifiquei a propriedade do compartilhamento NFS e estava CORRETO!

    
por 11.10.2012 / 06:21
2

id appuser provavelmente mostrará que o shell ainda vê o antigo UID para o usuário. Faça logout e faça login novamente.

    
por 10.10.2012 / 17:11
0

A propriedade do arquivo é salva com os IDs do usuário. Quando você estava vendo esses arquivos e os vendo como pertencentes a appuser antes do 502 - > 506 mudança, eles realmente foram detidos pelo ID de usuário 502 ( ls -n confirmará). Isso não mudou.

Portanto, se você quiser ver appuser como o proprietário, você terá que alterar a propriedade dos arquivos de 502 para 506. E você pode ter que fazer isso no servidor se você não tem permissões no cliente.

Como alterar as permissões é um tópico diferente. Se você não tiver acesso ao servidor, poderá tentar copiar os arquivos usando o novo usuário (supondo que tenha acesso somente leitura) e removê-los posteriormente. Pode ser mais fácil se você criar temporariamente um usuário com ID 502, que poderá alterar as permissões (mas não a propriedade) dos arquivos pertencentes a 502, renomeá-los ou removê-los depois de copiá-los.

    
por 10.10.2012 / 18:08