Benutze Samba .
Samba bietet einen Dateifreigabedienst, der mit Windows kompatibel ist.
Sie können ein Verzeichnis (zum Beispiel teilen /srv/samba/sharename
) auf Ihrem Linux - Computer und Zugriff aus dem Windows wie folgt aus : \\linuxservername\sharename
. Auf der Windows-Seite wird keine zusätzliche Software benötigt.
Samba ist in den meisten Linux-Distributionen enthalten. Installieren Sie es mit dem Paket-Manager, zum Beispiel:
Informationen zum Konfigurieren von Samba finden Sie unter:
oder suchen Sie bei Google nach einem Leitfaden für Ihre Distribution.
Beachten Sie, dass Sie möglicherweise Ihre Linux-Firewall konfigurieren müssen, falls Sie eine verwenden, um Verbindungen zu den Ports 137 / tcp, 138 / tcp, 139 / tcp und 445 / tcp zu akzeptieren (siehe dies und das ).
In der obigen Beschreibung ist der Linux-Computer ein Samba-Server und Windows stellt eine Freigabe von ihm bereit.
In Ihrem Kommentar unten erwähnen Sie, dass Sie den Übertragungsprozess automatisieren möchten . Dies kann erreicht werden, indem die Rollen vertauscht werden, sodass Windows als Server fungiert und Linux eine Verbindung dazu herstellt smbclient
.
Mit müssen smbclient
Sie die Windows-Freigabe überhaupt nicht mounten. C:\Directory\file.txt
Gehen Sie zum Beispiel folgendermaßen vor, um es abzurufen und /tmp
auf Ihren Linux-Computer zu kopieren :
smbclient '//windowsserver/c$' -c 'lcd /tmp; cd Directory; get file.txt' -U administrator%password
-c
Befehl zum Ausführen. Siehe man smbclient
für weitere Einzelheiten.
-U
Benutzername und Passwort für den Zugriff auf die Freigabe angegeben als username%password
Passen Sie es Ihren Bedürfnissen an und fügen Sie es Ihrem Skript hinzu.
smbclient
eine Verbindung zur Windows-Freigabe herstellen, eine Datei kopieren und die Verbindung trennen. Ich habe meine Antwort bearbeitet, schau sie dir an.-c
Option lohnt sich in einfachen Fällen. Auf meinem Computer kommt das Passwort als bloßes Argument (ohne Option). Außerdem ziehe ich es vor, die Anmeldeinformationen von Befehlszeilenlesern fernzuhalten ( z. B. mitps
oder[h]top
), indem ich anrufe-U $(cat .username) $(cat .password)
.Ich weiß, Sie sagten, Sie können nicht erwarten, dass bestimmte Software installiert wird, aber es gibt SSH / SCP / SFTP-Clients für Windows, für die keine bestimmte Installation erforderlich ist. Nur die ausführbare Datei ist verfügbar. Einer, an den ich mich immer wieder wende, ist PuTTY mit seinem Begleiter
pscp
und seinenpsftp
Werkzeugen, aber ich bin mir sicher, dass es Alternativen gibt.pscp
undpsftp
können komplett von der Kommandozeile aus angesteuert werden und eignen sich somit gut für Automatisierungsaufgaben. Beide haben sogar einen-batch
Schalter, der als "Alle interaktiven Eingabeaufforderungen deaktivieren" bezeichnet wird und mit ziemlicher Sicherheit genutzt werden kann.Da Sie vermutlich bereits einen SSH / SCP / SFTP-Server auf dem Server installiert und konfiguriert haben, müssen Sie keine Software auf einem der beiden Hosts installieren, nur um diese Dateien zu kopieren.
Ein weiterer Vorteil könnte die Tatsache sein, dass PuTTY Open Source unter einer genehmigten Lizenz ist. Wenn PuTTY also nicht sofort das tut, was Sie wollen, sollte es relativ einfach sein, es so zu machen, wie Sie es bevorzugen.
quelle
Ich bin ein
CentOS 6
Benutzer und habe diese Methode anprobiertCentOS 6
Installieren Sie Samba mit
Abfrage zur Bestätigung
Erstellen Sie einen Samba-Benutzer.
Erstellen Sie nun mit dem Befehl smbpasswd ein Samba-Passwort für den Benutzernamen sambashare.
Erstellen Sie ein Samba-Freigabe-Verzeichnis
Ändern Sie den Eigentümer für den Freigabeordner
Öffnen Sie die Datei
/etc/samba/smb.conf
und fügen Sie die folgenden Zeilen hinzu.Starten Sie den Samba-Dienst
Überprüfen Sie Ihre Konfiguration mit dem
testparm
BefehlIn Windows-System geben Sie dies ein
run
Geben Sie nun den Samba-Benutzernamen und das Passwort ein
Du bist fertig
quelle