
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/windows
pude 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 CentOsUser
usuario 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-980
en lugar de CentOsUser
.
También veo S-1-5-88-2-1001
tan bien como S-1-5-88-3-420
y S-1-5-88-4
.
¿Por qué se muestra S-1-5-88-1-980
? ¿Pensé que había asignado 980
al CentOsUser
usuario? También pensé que me había asignado 1001
al Domain Users
grupo, 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