Asignación de usuarios/grupos de Linux a NFS Share de Windows 2019

Asignación de usuarios/grupos de Linux a NFS Share de Windows 2019

Tengo una máquina con Windows Server 2019 y una máquina con CentOS 8 en la misma red. El servidor CentOS aloja una aplicación web que utiliza archivos de la máquina Windows.

Para leer estos archivos, configuré un recurso compartido Samba en el lado de Windows y lo monté en el lado de CentOS mediante mount -t cifs //myserver/share /media/windows.

Esto funcionó, pero noté algunos problemas. A veces, al intentar acceder a archivos desde este recurso compartido de Samba, simplemente se queda ahí. Desmontar y volver a montar no pareció ayudar ya que el problema volvería a ocurrir.

Decidí intentar usar NFS en lugar de Samba para compartir archivos entre Windows 2019 y CentOS. Después de configurar la misma carpeta, pero como un recurso compartido NFS, y usarla mount -t nfs myserver:/share /media/windowspude acceder a los archivos que harían que Samba se bloqueara.

El problema que tengo es que cuando creo un archivo nuevo en el recurso compartido NFS desde el lado de CentOS, los permisos son incorrectos en el lado de Windows y los usuarios del servidor de Windows no pueden acceder a los archivos.

Investigué esto e intenté configurar el mapeo de usuarios NFS, pero no creo que lo haya hecho bien.

Usando PowerShell, ejecuté:

Install-NfsMappingStore -InstanceName "NFSMappingStore" -LdapPort 10389

y vio:

Instancia ADLDS creada correctamente llamada NFSMappingStore en el servidor MYSERVER, la instancia se ejecuta en el puerto 10389 y la partición es CN=nfs,DC=nfs.

Luego corrí:

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

Viendo que funcionó, intenté agregar un usuario:

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

Esto pareció funcionar correctamente, así que nuevamente en el lado de CentOS, monté el recurso compartido NFS como CentOsUserusuario a través de:

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

Esto funcionó y pude crear y escribir un archivo. Pero en el lado de Windows, veo que el propietario del archivo (recién creado) es en realidad S-1-5-88-1-980en lugar de CentOsUser.

También veo S-1-5-88-2-1001tan bien como S-1-5-88-3-420y S-1-5-88-4.

¿Por qué se muestra S-1-5-88-1-980? ¿Pensé que había asignado 980al CentOsUserusuario? También pensé que me había asignado 1001al Domain Usersgrupo, entonces, ¿por qué se muestra S-1-5-88-2-1001?

Respuesta1

Tuve el mismo problema y estuve luchando con él desde hace mucho tiempo...

  • Ahora intigué el servidor Linux con AD.
  • Administrar todos los archivos y permisos a nivel de directorio desde Windows
  • El usuario de la aplicación que accede a los archivos desde el recurso compartido NFS de Windows es un usuario autenticado por AD.

El procedimiento anterior todavía funciona para mí.

Respuesta2

La mejor y más sencilla solución que encontré eshttps://github.com/billziss-gh/sshfs-win, los servidores conectados aparecen como unidades de red en pleno funcionamiento

Editar: montar un recurso compartido NTFS en Linux

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

información relacionada