Möglichkeit? Linux redet mit Windows?

TheKeeper

Enthusiast
Thread Starter
Mitglied seit
11.09.2009
Beiträge
135
Hallo,

folgendes Problem:

Ich soll eine Anwendung entwerfen, welche es ermöglicht in einem großen Netz (mehrere hundert server), eine bestimmte Config-File von Linux auf Linux- und Windows-Server zu kopieren. Dabei sollte möglichst kein zusätzliches Tool auf den Windows-Kisten installiert werden.

Alles soll zentral auf einem Linux-Server (Distri: SLES 11) angestoßen werden.

Woraus die Anwendung letztendlich basiert ist relativ egal, solange es funktioniert. Es kann also eine Weboberfläche oder einfach ein Programm, dass auf dem zentralen Linux-Server läuft, sein.

Ich denke die Kommunikation Linux zu Linux dürfte kein Problem sein, da bastelt man einfach was, womit man dem "scp" die nötigen parameter übergibt und gut ist.

Gibt es eine vergleichbare Möglichkeit dass Linux eine Datei an den Windows - Server schickt?

Falls euch noch etwas unklar ist, scheut euch nicht zu fragen. Ich wäre wirklich froh über einen Ansatz!

MFG
The Keeper
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Du willst Dateien verschieben, ohne FTP, CIFS, SSH, NFS,... -bitte selbst ausfüllen-?
Das wird nicht gehen sonst hätte man die Protokolle nicht erfunden.

Eine denkbar Lösung wäre überall einen Ordner frei zu geben und dann einfach zu kopieren. Nur ist das auch die schlechteste Lösung weil du an jeden Server ran müsstest.

Ein andere Möglichkeit wäre es nur auf den Linux Server was freizugeben und immer wenn sich was verändert holen sich die Server die Daten selbst (cron-job). Nur hat man dann wieder das selbe Problem -man muss einmal an alle Server ran-
 
Erstmal danke für deine Antwort!

Du willst Dateien verschieben, ohne FTP, CIFS, SSH, NFS,... -bitte selbst ausfüllen-?
Das wird nicht gehen sonst hätte man die Protokolle nicht erfunden.

Eine denkbar Lösung wäre überall einen Ordner frei zu geben und dann einfach zu kopieren. Nur ist das auch die schlechteste Lösung weil du an jeden Server ran müsstest.

Was für Protokolle genutzt werden, spielt in erster Linie keine Rolle.
Btw.: Ich teste derweile das Tool "pscp" mit dem es schonmal möglich ist Dateien von Windows zu Linux zu schieben. Die Frage ist ob es auch andersrum geht. Möglicherweise muss erst auf den Servern ein Dienst installiert werden, der die Anfragen/Dateien über SSH entgegen nimmt, womit wir wieder beim Anfang wären. Zur Info: PSCP gehört zu den Putty Utilities und nutzt entsprechend SSH.
Eine weitere Frage wäre, welche Ports man öffnen müsse, damit die Programme arbeiten, für SSH ist klar die 22, aber muss dass bei Windows noch getan werden?

Mit freigegeben Ordnern zu arbeiten ist wirklich keine Lösung, da kann man die ganze Sache gleich sein lassen und die Config-Dateien einzeln auf jeden Server kopieren.
 
Zuletzt bearbeitet:
Du müsstest dann auf den Windows Maschinen was mit Cygwin & OpenSSH basteln. Davon würde ich aber abraten. Macht kein Sinn, dann kann man gleich Ordner freigeben kommt auf das selber raus. Egal wie du es machst du wirst nicht drum herum kommen auf jeden Server einmal was einzustellen.


Ich finde die Idee mit dem "ich gebe ein Ordner frei und alle holen sich es selbständig ab" am besten.
 
Zuletzt bearbeitet:
Möglicherweise ist das wohl zu einfach aber was ist mit einen gut durchkonfiguriertem Samba?
 
Okay, da wirst du wohl recht haben. Ich werde erstmal nochmal mit meinen "Vorgesetzten" darüber reden müssen, da ich selber keinen Zugang zu dem entsprechendem Netz besitze.

Danke trotzdem! Ich melde mich dann wieder, wenn es was neues gibt.


//EDIT
@MrDeluxe

Was meinst du mit einem gut durchkonfigurierten Samba? Ich meine das ist doch praktisch auch nichts anderes als Ordnerfreigabe.
 
Zuletzt bearbeitet:
Und wie soll das gehen -ohne an alle Server ran zu müssen-?
 
Ich würde auch auf Samba zurückgreifen, und zwar mit folgender Methode:

Jeder Windows Rechner gibt standardmäßig alle Laufwerke im Netzwerk frei.
Die Laufwerke sind z.B: über IP.des.Rechners\C$ erreichbar (also Laufwerksbuchstabe mit Dollarzeichen). Über diesen Pfad kannst du überall hinkopieren auf Windowskisten, wo du willst. Du musst dich nur als Admin authorisieren.

Du kannst also von Unix aus ein Script schreiben und starten, dass die IPs durchgeht und für jeden Rechner die Datei über Samba kopiert. Damit wären keine Änderungen an den Windowsrechnern nötig!
 
Ansonsten gibt es die Möglichkeit mit einem LDAP-Server zentral auf dem Linux-Server.

Da melden sich dann alle anderen Clients (und die Windoof-Server) an.

Dort kann man einzelne Verzeichnisse allen zur Verfügung stellen und der Server kann mit cronjobs bestimmte Verzeichnisse Backuppen oder "abholen" die in der LDAP-Config eingetragen sind.

So ist das z.b. an unserer Schule, da ist der Ordner "Eigene Dateien" auf den Server verlinkt und landet in deinem Privaten Netzlaufwerk.

In der Art könnte man das ganze auch realisieren, ist aber mit Sicherheit ein großer Aufwand, wenn man nicht sowieso dabei ist, das Netzwerk und die Server neu aufzubauen :shot:
 
also wenn du eine AvticeDirectory benutzt, dann geht das einfach darüber, das er sich manche sachen automatisch zieht, wenn es nicht dann auf windows smbclient installieren und damit kannst du dann per skript entsprechend auf allen rechnern was raufkopieren..
 
Aehm, ich wuerd dir da ja puppet empfehlen, allerdings braeuchtest du da auf den windowsboxen ruby.
 
Ich weiss, das ein Kollege zum Verschieben aktueller Builds und Sources XML-RPC nutzt. Dadurch kann er ohne Passwortabfragen oder Benutzerauthentifizierung über Skripte auf einem Linux-Server auf das Dateisystem einer Windows-Workstation zugreifen.
Ein erweiterter Ansatz wäre SOAP, da es einen Dateiaustausch über Betriebssystemgrenzen hinweg erlaubt.
Nur wäre die Einrichtung für dein Vorhaben etwas oversized, kompliziert und nicht umsetzbar (Weil du an jeden Rechner müsstest).

Wieso mountest du nicht einfach über cifs von einer Linux-Kiste aus die Freigaben der Windows-Kisten? Eventuell kannst du (falls Windows-Server sowas haben) direkt die administrativen Freigaben (C$, D$) nutzen.
Sähe dann ca. so aus:

Code:
mount -t cifs //IP/D$ /mnt/Netzwerk -o user=user@domain,password=password && cp configdatei.conf /mnt/Netzwerk/Daten/Konfigurationen && umount /mnt/Netzwerk

^
|
Keine Garantie, dass das so klappt. Wahrscheinlich ist auch was an dem -o falsch. Das Passwortzeug kannst du aber auch weglassen, dann fragt er beim Mounten danach.
 
Zuletzt bearbeitet:
Daran hab ich noch gar nicht gedacht, dass es auch C: usw. in der Samba-Freigabe anzeigt. :)

Das finde ich wirklich einfacher als die LDAP-Cronjob-Geschichte. Aber erstmal muss ich es natürlich testen. Bin grade erst im Betrieb angekommen, kann aber gleich los legen.

Vielen Dank für die vielen, guten Antworten!
Ich werde euch auf dem neuesten Stand halten.

MFG
The Keeper

---------- Beitrag hinzugefügt um 10:13 ---------- Vorheriger Beitrag war um 08:20 ----------

So ich hab das mit Samba getestet. Hat auch auf Anhieb funktioniert.

Allerdings muss erstmal in die Sicherheitsrichtlinien unseres Netzes geguckt werden, ob Samba nicht vielleicht doch deaktiviert sein sollte.
Andererseits wäre es vielleicht möglich (ist auch noch nicht sicher!) dasselbe mit NFS zu realisieren, aber da muss ich auch noch mal gucken wie was wo und warum.

Außerdem gänge es eventuell doch, dass ich ein Tool nehme, welches die Dateien annimmt. Diese muss aber sicher, d.h. verschlüsselt sein und möglichst geringen Konfigurationsaufwand besitzen. (Automatisierte Installation?)
 
So ich hab das mit Samba getestet. Hat auch auf Anhieb funktioniert.
Das ist schonmal gut, dann wäre jetzt nur noch ein kleines Script unter Linux notwendig für den Rest.

Andererseits wäre es vielleicht möglich (ist auch noch nicht sicher!) dasselbe mit NFS zu realisieren, aber da muss ich auch noch mal gucken wie was wo und warum.
Tu dir das nicht an! Unter WIndows Server 2008 und WIndows 7 wird NFS zwar von haus aus unterstützt, aber Windows Server 2003 und XP können das nicht. Dann müsstest du erstmal mit den Services for Unix Tools (SFU) einen NFS Server auf jedem Server einrichten, dann Freigaben etc.
Fazit: Nimm Samba!

Außerdem gänge es eventuell doch, dass ich ein Tool nehme, welches die Dateien annimmt. Diese muss aber sicher, d.h. verschlüsselt sein und möglichst geringen Konfigurationsaufwand besitzen. (Automatisierte Installation?)
Dafür wäre rsync wirklich gut geeignet. Unter Linux nativ, unter WIndows z.B. über http://www.itefix.no/i2/node/10650.
Das Paket würde ich dann auf den Windows Servern über eine Gruppenrichtlinie automatisch verteilen, installieren und konfigurieren. Würde aber wahrscheinlich einen Neustart mit sich bringen - bei Servern ziemlich uncool.

Nimm doch einfach die erste Variante mit Samba und gut ist.
 
Zuletzt bearbeitet:
Nimm doch einfach die erste Variante mit Samba und gut ist.

Das würde ich auch gerne so machen, ich muss halt nur abwarten, was unsere Sicherheitsrichtlinien dazu sagen. :wall:

Erst die SFU´s zu installieren wäre natürlich ein furchtbarer Aufwand. ^.

Ich versuche bereits seit ner geschlagenen Stunde dieses Cygwin zu installieren, aber ich glaube auch nicht, ob sich der Aufwand wirklich lohnt. Die Beschreibung davon klang recht interessant, aber jetzt seh ich erstmal, a) wie lange das braucht zum "installieren", b) dass man praktisch alles einzeln konfigurieren muss. Was lernt man dabei: Erst lesen, dann loslegen!

Dafür wäre rsync wirklich gut geeignet. Unter Linux nativ, unter WIndows z.B. über http://www.itefix.no/i2/node/10650.
Das Paket würde ich dann auf den Windows Servern über eine Gruppenrichtlinie automatisch verteilen, installieren und konfigurieren. Würde aber wahrscheinlich einen Neustart mit sich bringen - bei Servern ziemlich uncool.
Ich schau mir das Tool gleich mal an. Außerdem verstehe ich noch nicht ganz, wie ich mit Hilfe von Gruppenrichtlinien die Dateien verteilen kann.

---------- Beitrag hinzugefügt um 12:14 ---------- Vorheriger Beitrag war um 12:11 ----------

Oha für den rsync-Daemon braucht man auch Cygwin???
 
bei Samba aber aufpassen UTF8 Linux != UTF8 Windows


Das musst du beim mounten beachten.

//IP/Freigabe/ /mountpoint cifs nounix,credentials=cifs.creditals,noauto,users,rw,codepage=cp1250,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0


so mounte ich Windows Verzeichnisse. In credentials=cifs.creditals steht Name und Passwort drin und ist nur für root lesbar. Sonst könnte jeder User das pw sehen.


Ja rsync braucht Cygwin ich kann dir heute Abend mal ein Ordner uppen dort ist alles drin und fertig.
 
Zuletzt bearbeitet:
Ich versuche bereits seit ner geschlagenen Stunde dieses Cygwin zu installieren, aber ich glaube auch nicht, ob sich der Aufwand wirklich lohnt. Die Beschreibung davon klang recht interessant, aber jetzt seh ich erstmal, a) wie lange das braucht zum "installieren", b) dass man praktisch alles einzeln konfigurieren muss. Was lernt man dabei: Erst lesen, dann loslegen!
Ich hab den Link von mir zwar nicht installiert, aber auf der Seite steht dass die komplette Installation mit 3 Klicks erledigt ist.

Ich schau mir das Tool gleich mal an. Außerdem verstehe ich noch nicht ganz, wie ich mit Hilfe von Gruppenrichtlinien die Dateien verteilen kann.
Dazu brauchst du 1. eine Domäne und 2. kannst du dann in der Gruppenrichtlinie die Softwareverteilung steuern, entweder über die integrierte Funktion, oder mit Batch-Dateien die beim Systemstart verarbeitet werden.
 
so hier: http://rapidshare.com/files/339454239/rsync.zip

was mir dabei noch einfällt ist das du kein rsync für die Windows Maschinen brauchst, wenn ein Linux Rechner die Daten verteilt. Rsync und robocopy sind sich sehr ähnlich. Im Prinzip gleichen die beiden Programm "nur" Ordner mit einen ab.
 
? Wenn ich eine Linux Maschine auf ein beliebiges Netzwerklaufwerk Synchronisieren möchte muss das Netzlaufwerk von rsync nichts wissen. Es muss nur eingebunden werden wie ein Normales Speichermedium. Was bei CIFS der Fall ist.


Man kann auch mit Rsync auf USB-Stick Synchronisieren der Stick weiss dann in dem Fall auch nichts von Rsync.
 
Zuletzt bearbeitet:
Nur weil du etwas gemountet hast heisst das ja nicht gleich, dass die Daten lokal liegen. Klar kann ich mit rsync in einen gemounteten (Windows)Ordner kopieren, aber im Endeffekt findet zuletzt die Übertragung über Samba, und somit unverschlüsselt, statt (Behaupte ich jetzt einfach mal, kann es mir nicht anders vorstellen).
Bei einem USB Stick sind die Daten lokal, sobald du ihn einsteckst.
Wenn die Daten aber mit Rsync wirklich übers Netzwerk gehen sollen, dann braucht man einen Daemon am anderen Ende der Verbindung, der die Daten da annimmt. Das merkt man spätestens, wenn man zwischen 2 Linuxmaschinen einen Rsync startet, denn da klappts nicht wenns auf einem nicht installiert ist.
 
Das ist richtig die Übertragung findet per CIFS statt. Einen Deamon bekommst du mit meinen Daten nicht hin. Ich glaube aber dass, das in dem Fall auch Overkill ist.
 
Also wenn ich es richtig verstanden habe ging es, falls das mit den administrativen Freigaben nicht erlaubt ist, um verschlüsselte Datenübertragung. Und dafür braucht man nunmal, da Windows sowas nicht von Haus aus kann, eine Software auf den Windowskisten.
 
http://www.captain.at/howto-rsync-linux-windows.php

So geht es auch mit den Daten von mir. Weis jemand wie rsync überträgt, weil CIFS skaliert bei mir mit Gigabyte lan nicht so gut (20-30 mb/s)

*edit*

hab es mal probiert rsync ist genauso lahm wie CIFS 20-30mb/S
 
Zuletzt bearbeitet:
So nachdem ich erstmal ein entspannendes Wochenende hinter mich gebracht habe, ordne ich die Informationen mal ein wenig.

Also..

Da ich immer noch nicht weiß, wie das mit den administrativen Freigaben wird (ob wir diese nun freigeben können oder nicht), können wir das Thema, wie ich diese ausnutze, erstmal sein lassen. Ich brauche kein rsync, wenn die Synchronisation in dem Fall auch mit einem einfachen Script durchgeführt werden kann. Außerdem, wenn es wirklich stimmt, dass CIFS seine Daten unverschlüsselt überträgt und es nicht möglich ist eine verschlüsselte Verbindung einzurichten, ist CIFS sowieso vom Tisch.

Im Moment ist also der Stand, dass wir einen Dämon auf der Windows sowie auf der Linux-Kiste brauchen, damit auf der Gegenseite immer jemand ist, der die Daten annimmt.

Da es bei der Übertragung nur um die Verteilung einer einzelnen Konfigdatei (~5KB?) geht, ist die Geschwindigkeit von 20-30 mb/s auf jeden Fall ausreichend.

Vielen Dank nochmal für eure Posts!

Ich werde da mal mit rsync weiter machen und ein wenig testen.

MFG
The Keeper

PS: Es war mir am Freitag/Samstag nicht möglich die Datei von rapidshare herunter zu laden, da ich keinen Premium-Acc hab, aber ich probiere es dann nochmal.^^
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh