Mapeando usuários/grupos do Linux para o compartilhamento NFS do Windows 2019

Mapeando usuários/grupos do Linux para o compartilhamento NFS do Windows 2019

Tenho uma máquina Windows Server 2019 e uma máquina CentOS 8 na mesma rede. O servidor CentOS hospeda um webapp que usa arquivos da máquina Windows.

Para ler esses arquivos, configurei um compartilhamento Samba no lado do Windows e montei-o no lado do CentOS via mount -t cifs //myserver/share /media/windows.

Isso funcionou, mas notei alguns problemas. Às vezes, ao tentar acessar arquivos deste compartilhamento do Samba, ele simplesmente ficava parado. Desmontar e remontar não pareceu ajudar, pois o problema simplesmente aconteceria novamente.

Decidi tentar usar o NFS em vez do Samba para compartilhar arquivos entre o Windows 2019 e o CentOS. Depois de configurar a mesma pasta, mas em vez disso como um compartilhamento NFS, e usando mount -t nfs myserver:/share /media/windowsconsegui acessar os arquivos que fariam o Samba travar.

O problema que estou enfrentando é que quando crio um novo arquivo no compartilhamento NFS do lado do CentOS, as permissões estão erradas no lado do Windows e os usuários no servidor Windows não conseguem acessar os arquivos.

Analisei isso e tentei configurar o mapeamento de usuários do NFS, mas não acho que fiz certo.

Usando o PowerShell, executei:

Install-NfsMappingStore -InstanceName "NFSMappingStore" -LdapPort 10389

e viu:

Instância ADLDS criada com sucesso chamada NFSMappingStore no servidor MYSERVER, a instância está sendo executada na porta 10389 e a partição é CN=nfs,DC=nfs.

Eu então corri:

Set-NfsMappingStore -EnableLdapLookup $true -LdapNamingContext "CN=nfs,DC=nfs"
    -LdapServer localhost:10389

Vendo que funcionou, tentei adicionar um usuário:

New-NfsMappedIdentity -MappingStore LDAP -Server localhost:10389
    -UserIdentifier 980 -GroupIdentifier 1001
    -UserName CentOsUser -PrimaryGroup "Domain Users"

Isso pareceu funcionar corretamente, então, de volta ao CentOS, montei o compartilhamento NFS como CentOsUserusuário por meio de:

sudo -u CentOsUser -g CentOsGroup mount -t nfs myserver:/share /media/windows

Isso funcionou e consegui criar e escrever um arquivo. Mas no lado do Windows, vejo que o proprietário do arquivo (recém-criado) é, na verdade, S-1-5-88-1-980em vez de CentOsUser.

Eu também vejo S-1-5-88-2-1001bem como S-1-5-88-3-420e S-1-5-88-4.

Por que está aparecendo S-1-5-88-1-980? Achei que mapeei 980para o CentOsUserusuário? Também pensei ter mapeado 1001para o Domain Usersgrupo, então por que está aparecendo S-1-5-88-2-1001?

Responder1

Eu tive o mesmo problema e estava lutando com ele desde um tempo de registro ...

  • Agora integrei o servidor Linux com AD.
  • Gerenciando todos os arquivos e permissões em nível de diretório do Windows
  • o usuário do aplicativo que acessa arquivos do compartilhamento NFS do Windows é um usuário autenticado pelo AD.

O procedimento acima ainda está funcionando para mim.

Responder2

A melhor e mais fácil solução que encontrei éhttps://github.com/billziss-gh/sshfs-win, os servidores conectados aparecem como unidades de rede totalmente funcionais

Editar: Montando um compartilhamento NTFS no Linux

mkdir /mnt/win1
mount -t cifs //10.10.1.100/share -o username=myUser,password=myPassword /mnt/win1

informação relacionada