
Ich habe einen Windows Server 2019-Rechner und einen CentOS 8-Rechner im selben Netzwerk. Der CentOS-Server hostet eine Webanwendung, die Dateien vom Windows-Rechner verwendet.
Um diese Dateien zu lesen, hatte ich auf der Windows-Seite eine Samba-Freigabe eingerichtet und diese über auf der CentOS-Seite gemountet mount -t cifs //myserver/share /media/windows
.
Das hat funktioniert, aber ich habe einige Probleme festgestellt. Manchmal blieb die Datei einfach dort, wenn ich versuchte, auf diese Samba-Freigabe zuzugreifen. Das Aushängen und erneute Einhängen schien nicht zu helfen, da das Problem einfach erneut auftrat.
Ich habe beschlossen, NFS statt Samba zu verwenden, um Dateien zwischen Windows 2019 und CentOS freizugeben. Nachdem ich denselben Ordner, aber stattdessen als NFS-Freigabe, eingerichtet und verwendet hatte, mount -t nfs myserver:/share /media/windows
konnte ich auf die Dateien zugreifen, die Samba zum Absturz gebracht hätten.
Mein Problem besteht darin, dass beim Erstellen einer neuen Datei in der NFS-Freigabe von CentOS aus die Berechtigungen auf der Windows-Seite falsch sind und Benutzer auf dem Windows-Server nicht auf die Dateien zugreifen können.
Ich habe mir das angesehen und versucht, die NFS-Benutzerzuordnung einzurichten, aber ich glaube nicht, dass ich es richtig gemacht habe.
Mit PowerShell habe ich Folgendes ausgeführt:
Install-NfsMappingStore -InstanceName "NFSMappingStore" -LdapPort 10389
und sah:
ADLDS-Instanz mit dem Namen NFSMappingStore wurde erfolgreich auf dem Server MYSERVER erstellt, die Instanz läuft auf Port 10389 und die Partition ist CN=nfs,DC=nfs.
Dann habe ich Folgendes ausgeführt:
Set-NfsMappingStore -EnableLdapLookup $true -LdapNamingContext "CN=nfs,DC=nfs"
-LdapServer localhost:10389
Da dies funktionierte, habe ich dann versucht, einen Benutzer hinzuzufügen:
New-NfsMappedIdentity -MappingStore LDAP -Server localhost:10389
-UserIdentifier 980 -GroupIdentifier 1001
-UserName CentOsUser -PrimaryGroup "Domain Users"
Dies schien ordnungsgemäß zu funktionieren, also habe ich dann auf der CentOS-Seite die NFS-Freigabe als CentOsUser
Benutzer wie folgt gemountet:
sudo -u CentOsUser -g CentOsGroup mount -t nfs myserver:/share /media/windows
Das hat funktioniert und ich konnte eine Datei erstellen und schreiben. Aber auf der Windows-Seite sehe ich, dass der Besitzer der (neu erstellten) Datei tatsächlich S-1-5-88-1-980
statt ist CentOsUser
.
Ich sehe auch S-1-5-88-2-1001
sowie S-1-5-88-3-420
und S-1-5-88-4
.
Warum wird es angezeigt S-1-5-88-1-980
? Ich dachte, ich wäre 980
dem CentOsUser
Benutzer zugeordnet? Ich dachte auch, ich wäre 1001
der Domain Users
Gruppe zugeordnet. Warum wird es also angezeigt S-1-5-88-2-1001
?
Antwort1
Ich hatte das gleiche Problem und kämpfe seit langer Zeit damit ...
- Jetzt habe ich den Linux-Server mit AD integriert.
- Verwalten aller Datei- und Verzeichnisebenenberechtigungen von Windows aus
- Der Anwendungsbenutzer, der auf Dateien aus der Windows-NFS-Freigabe zugreift, ist ein AD-authentifizierter Benutzer.
Das oben beschriebene Verfahren funktioniert bei mir immer noch.
Antwort2
Die beste und einfachste Lösung, die ich gefunden habe, isthttps://github.com/billziss-gh/sshfs-win, verbundene Server werden als voll funktionsfähige Netzlaufwerke angezeigt
Bearbeiten: Mounten einer NTFS-Freigabe unter Linux
mkdir /mnt/win1
mount -t cifs //10.10.1.100/share -o username=myUser,password=myPassword /mnt/win1