Mapeamento do ID do usuário com o NFS no Synology NAS

15

Eu tenho uma caixa Synology NAS (executando o DSM 5.1) e exportei um diretório via NFS. Estou tentando montá-lo na minha caixa do Ubuntu.

Funciona principalmente, mas estou tendo problemas com mapeamentos de usuários e grupos. Na caixa Ubuntu, eu sou uid 1000 (roger), gid 1000 (roger). Na Synology, eu tenho uid 1026 (roger), grupo 100 (usuários).

Se eu usar o NFSv3, ele usa valores numéricos de uid / gid, o que significa que a propriedade está confusa na Synology.

Se eu tivesse acesso apenas a montagem NFS da mesma caixa do Ubuntu, usando o mesmo usuário, isso seria ótimo, mas eu também acessaria o diretório de uma caixa do Windows, usando CIFS (SMB), o que significa que as permissões estão erradas.

Se eu usar o NFSv4 ( mount -o nfsvers=4 ), com as configurações padrão da Synology, os arquivos pertencentes a roger.users na Synology aparecerão pertencentes a roger.users quando visualizados na caixa do Ubuntu. Isso é bom.

No entanto, quando eu touch um arquivo:

roger@ubuntu$ touch /mounts/diskstation/music/foo

Ela pertence a 1000.1000 na Synology e é mostrada como pertencente a nobody.4294967294 quando visualizada na caixa do Ubuntu.

Tudo o que posso encontrar sobre o tópico nos fóruns da Synology é datado de 2011, quando o NFSv4 não era suportado, ou consistia em pessoas fazendo a mesma pergunta e depois desistindo.

Para completar, /etc/exports tem:

/volume1/music  10.0.0.0/24(rw,async,no_wdelay,root_squash,insecure_locks,sec=sys,anonuid=1025,anongid=100)

... e estou montando na caixa do Ubuntu com:

mount -t nfs diskstation:/volume1/music /mounts/diskstation/music/ -o rw,nfsvers=4

Encontrei algumas dicas de que sec=sys pode ser um problema: Por que o mapeamento de uid / gid do NFSv4 não funciona com AUTH_UNIX (AUTH_SYS) , mas isso não tem uma solução.

Existe uma maneira simples de contornar este problema? Existe uma forma mais complexa ( tosse Kerberos tosse ) para resolver isso?

Sério, se o Kerberos for a resposta, eu levarei esse hit, mas gostaria de saber antes de perder um monte de tempo com ele.

Atualizar : enquanto a documentação do Synology fala sobre vários Kerberos opções, não consigo encontrá-las na interface do usuário. As notas de versão declaram "Se o sabor de segurança do Kerberos for implementado ...". Eu encontrei (mas não consigo encontrar novamente) uma página que implica que pode não estar em determinados modelos. Eu tenho um DS211, de acordo com a página Informações do sistema. Talvez eu esteja sem sorte?

    
por Roger Lipscombe 04.01.2015 / 21:42

2 respostas

6

Para que o mapeamento de ID do NFSv4 funcione corretamente, o cliente e o servidor devem estar executando o daemon idmapd ID Mapper e ter o mesmo Domain configurado em /etc/idmapd.conf .

Dessa forma, seu cliente NFS envia suas credenciais de ID como [email protected] nos comandos NFS, e o mapeador de id do servidor NFS mapeia isso para um usuário chamado roger no servidor NFS. O UID e o GID não importam, eles são mapeados em cada sistema pelo idmapper.

No entanto, não me incomodo com isso na minha Synology. Minha Pasta compartilhada tem as seguintes permissões:

  • Permissões
    • Usuários locais
      • Admin = leitura / gravação
  • Permissões do NFS
    • Squash
      • Mapear todos os usuários para o administrador

Isso resulta em anonuid=1024,anongid=100 (o admin user e users group) sendo adicionado à exportação em /etc/exports no NAS.

Meu cliente NFS (que não tem o ID Mapper em execução) envia meus comandos NFS como meu usuário ( 1000:1000 ) e, como esse UID e GID não existem no NAS, ele traduz meu UID e GID para 1024:100 , então eu sou tratado como o usuário administrador que tem permissão total.

Este é um uso extremamente profissional e inseguro do NFS para um ambiente de negócios, mas apenas para eu acessar meus arquivos em casa é um abuso do comportamento do NFS que é aceitável para mim.

Outra opção é tornar o UID e o GID de roger iguais no NFS Client e NAS, então você pode usar o NFSv4 sem o Mapeamento de ID ou usar o NFSv3 que depende apenas do UID e do GID.

    
por 29.11.2015 / 06:33
0

Eu tive o mesmo problema ao tentar descobrir os modelos em que isso estava. Acontece que o Kerberos é parte do Pacote do Active Directory Server , e a descrição do pacote inclui os modelos Synology em que está disponível. (Eu peguei o 1515, não o 1515+, então estou sem sorte também.)

    
por 21.07.2017 / 16:44

Tags