Symlinks per Samba überschreiben
Hallo Auf unserem Server läuft Samba mit ein paar Freigaben. In einigen der Ordner werden gewisse Dateien in einen Ordner gelinkt (Symlink) was auch ganz gut klappt. Nun möchte ich gerne die Symlinks überschreibbar machen, jedoch ohne die referenzierte Datei zu berühren. Das heisst, wenn ich auf dem Win-Client auf die Freigabe zugreife, sehe ich die Datei (nicht den Link --> follow link=Yes). Verändere ich jetzt etwas an der Datei und speichere sie wieder ab, soll der link gelöscht (überschrieben) werden und eine Kopie mit den Änderungen soll im Ordner selbst angelegt werden. Bis jetzt habe ich mit diversen Berechtigungseinstellungen experimentiert jedoch entweder die Datei überschrieben oder keine Berechtigung erhalten, den Link/die Datei zu überschreiben. Die Suche mit Google brachte auch nicht viel. Kann mir da jemand helfen? Oder kennt jemand eine andere art so was zu realisieren? Vielen Dank Simon Waldburger -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Simon Waldburger schrieb:
Hallo
Auf unserem Server läuft Samba mit ein paar Freigaben. In einigen der Ordner werden gewisse Dateien in einen Ordner gelinkt (Symlink) was auch ganz gut klappt. Nun möchte ich gerne die Symlinks überschreibbar machen, jedoch ohne die referenzierte Datei zu berühren. Das heisst, wenn ich auf dem Win-Client auf die Freigabe zugreife, sehe ich die Datei (nicht den Link --> follow link=Yes). Verändere ich jetzt etwas an der Datei und speichere sie wieder ab, soll der link gelöscht (überschrieben) werden und eine Kopie mit den Änderungen soll im Ordner selbst angelegt werden. Bis jetzt habe ich mit diversen Berechtigungseinstellungen experimentiert jedoch entweder die Datei überschrieben oder keine Berechtigung erhalten, den Link/die Datei zu überschreiben. Die Suche mit Google brachte auch nicht viel. Kann mir da jemand helfen? Oder kennt jemand eine andere art so was zu realisieren?
Nööööö kann so nicht gehen! das SMB/CIFS-Protokoll kennt so etwas nicht Der link ust eine Unix-Geschichte.... ln (-s)... gibt es nicht bei Win/Samba... Berechtigungen sind drwxrwxrwx (-owner-group-worldwide) Die Berechtigingen werden ggfs. vvon Samba "überstetzt" auf die in der OS/2-Dos-Win-Welt gängigen Berechtigungen ( wieder ohne extended attributes). Work-around -> Schreibschutz oder einfach unter anderem Namen speichern...
Vielen Dank
Simon Waldburger
Ich verstehe dein Problem von der Sache her nicht (wirklich) - du stellst vielen eine Datei zur Verfügung ( sonst macht ln keinen Sinn) - aber nach der Koreektur willst du n verschiedene Files an n verschieden Speicherorten ( oha ... überlege gerade - Links : symlinks oder Hardlinks ????) Symlinks zeigen auf eine Datei .. bei Hardlinks gibts es in deinem Ordner einen festen Eintrag... müsste mal genauer nachlesen . Kannst aber auch selber tun... ;-) Gruss Fred -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Fred Ockert schrieb:
Simon Waldburger schrieb:
Hallo
Auf unserem Server läuft Samba mit ein paar Freigaben. In einigen der Ordner werden gewisse Dateien in einen Ordner gelinkt (Symlink) was auch ganz gut klappt. Nun möchte ich gerne die Symlinks überschreibbar machen, jedoch ohne die referenzierte Datei zu berühren. Das heisst, wenn ich auf dem Win-Client auf die Freigabe zugreife, sehe ich die Datei (nicht den Link --> follow link=Yes). Verändere ich jetzt etwas an der Datei und speichere sie wieder ab, soll der link gelöscht (überschrieben) werden und eine Kopie mit den Änderungen soll im Ordner selbst angelegt werden. Bis jetzt habe ich mit diversen Berechtigungseinstellungen experimentiert jedoch entweder die Datei überschrieben oder keine Berechtigung erhalten, den Link/die Datei zu überschreiben. Die Suche mit Google brachte auch nicht viel. Kann mir da jemand helfen? Oder kennt jemand eine andere art so was zu realisieren?
Nööööö
kann so nicht gehen! das SMB/CIFS-Protokoll kennt so etwas nicht Der link ust eine Unix-Geschichte.... ln (-s)... gibt es nicht bei Win/Samba...
Berechtigungen sind drwxrwxrwx (-owner-group-worldwide) Die Berechtigingen werden ggfs. vvon Samba "überstetzt" auf die in der OS/2-Dos-Win-Welt gängigen Berechtigungen ( wieder ohne extended attributes).
Work-around -> Schreibschutz oder einfach unter anderem Namen speichern... Hab ich schon versucht: File schreibgeschützt und sobald ich dem symlink versuche Schreibrechte zu vergeben hat das File auch wieder Schreibrechte.
Vielen Dank
Simon Waldburger
Ich verstehe dein Problem von der Sache her nicht (wirklich) - du stellst vielen eine Datei zur Verfügung ( sonst macht ln keinen Sinn)
- aber nach der Koreektur willst du n verschiedene Files an n verschieden Speicherorten ( oha ... überlege gerade - Links : symlinks oder Hardlinks ????) Symlinks zeigen auf eine Datei .. bei Hardlinks gibts es in deinem Ordner einen festen Eintrag... müsste mal genauer nachlesen . Kannst aber auch selber tun... ;-)
Gruss Fred
Es geht darum dass in verschiedenen Projektordnern die "core-files" meistens identisch sind. (Darum linken um Redundanzen zu verhindern.) Soll jetzt aber in einem Projekt (möglicher Kundenwunsch) an den gelinkten "core-files" etwas verändert werden, sollen die einfach bearbeitet und "überspeichert" werden können (Win-Client per SMB). Nun soll nicht die Referenzierte Datei des Symlinks verändert werden, da ja sonst alle Projekte die Änderung erhalten, sondern nur die Symlink-Datei mit der veränderten Datei überschrieben werden. (so viel zur Idee) Ich hoffe man versteht jetzt mein Problem besser. Ob ich jetzt mit Symlinks oder Hardlinks arbeite macht von Samba aus keinen Unterschied. Wenn ich vom Win-Clienten aus (wie bis her versucht) den Symlink überspeichere, wird die Referenzierte Datei ersetzt und nicht der Symlink. Meine Frage ist, ob man Samba so verdrehen kann (Konfigurieren), dass er den Symlinks zum lesen folgt, zum schreiben aber den Link entfernt und die Änderung abspeichert? Wenn nicht, eine andere Idee? -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Simon Waldburger schrieb:
Fred Ockert schrieb:
Simon Waldburger schrieb:
Hallo
Auf unserem Server läuft Samba mit ein paar Freigaben. In einigen der Ordner werden gewisse Dateien in einen Ordner gelinkt (Symlink) was auch ganz gut klappt. Nun möchte ich gerne die Symlinks überschreibbar machen, jedoch ohne die referenzierte Datei zu berühren. Das heisst, wenn ich auf dem Win-Client auf die Freigabe zugreife, sehe ich die Datei (nicht den Link --> follow link=Yes). Verändere ich jetzt etwas an der Datei und speichere sie wieder ab, soll der link gelöscht (überschrieben) werden und eine Kopie mit den Änderungen soll im Ordner selbst angelegt werden. Bis jetzt habe ich mit diversen Berechtigungseinstellungen experimentiert jedoch entweder die Datei überschrieben oder keine Berechtigung erhalten, den Link/die Datei zu überschreiben. Die Suche mit Google brachte auch nicht viel. Kann mir da jemand helfen? Oder kennt jemand eine andere art so was zu realisieren?
Nööööö
kann so nicht gehen! das SMB/CIFS-Protokoll kennt so etwas nicht Der link ust eine Unix-Geschichte.... ln (-s)... gibt es nicht bei Win/Samba...
Berechtigungen sind drwxrwxrwx (-owner-group-worldwide) Die Berechtigingen werden ggfs. vvon Samba "überstetzt" auf die in der OS/2-Dos-Win-Welt gängigen Berechtigungen ( wieder ohne extended attributes).
Work-around -> Schreibschutz oder einfach unter anderem Namen speichern... Hab ich schon versucht: File schreibgeschützt und sobald ich dem symlink versuche Schreibrechte zu vergeben hat das File auch wieder Schreibrechte.
Vielen Dank
Simon Waldburger
Ich verstehe dein Problem von der Sache her nicht (wirklich) - du stellst vielen eine Datei zur Verfügung ( sonst macht ln keinen Sinn)
- aber nach der Koreektur willst du n verschiedene Files an n verschieden Speicherorten ( oha ... überlege gerade - Links : symlinks oder Hardlinks ????) Symlinks zeigen auf eine Datei .. bei Hardlinks gibts es in deinem Ordner einen festen Eintrag... müsste mal genauer nachlesen . Kannst aber auch selber tun... ;-)
Gruss Fred
Es geht darum dass in verschiedenen Projektordnern die "core-files" meistens identisch sind. (Darum linken um Redundanzen zu verhindern.) Soll jetzt aber in einem Projekt (möglicher Kundenwunsch) an den gelinkten "core-files" etwas verändert werden, sollen die einfach bearbeitet und "überspeichert" werden können (Win-Client per SMB). Nun soll nicht die Referenzierte Datei des Symlinks verändert werden, da ja sonst alle Projekte die Änderung erhalten, sondern nur die Symlink-Datei mit der veränderten Datei überschrieben werden. (so viel zur Idee)
ja .. da tust du Telnet/Putty o.ä. nehmen tun ..und tust dann einfach ein Login auf der U*X-Maschine tun und dann einen neuen Symlink setzen tun in den U*X-Verzeichnissen ( die nichts mit dem SMB-Shares zu tun haben) gaaanz easy....
Ich hoffe man versteht jetzt mein Problem besser.
Ob ich jetzt mit Symlinks oder Hardlinks arbeite macht von Samba aus keinen Unterschied. Wenn ich vom Win-Clienten aus (wie bis her versucht)
war ich mit nicht ganz sicher...
den Symlink überspeichere, wird die Referenzierte Datei ersetzt und nicht der Symlink.
Die Aussage ist so nicht korrekt ! entweder du überschreibst den symlink oder das (gelinkte) File mit dem Wort referenziert hab ich an der Stelle ein bissel ein Problem (weil ....es ist ja nicht wahr!) Hardlinks machen einen (doppelten)Inodeeintrag (d.h. 2 Namenseinträge an unterschiedlichen Stellen, die auf den gleichen INodeeintrag zeigen) Softlinks verweisen auf einen INodeeintrag du müsstest dann bei Dateinamen auch von referenzierten Files reden... (weil: der Eintrag ist ja auch nur ein Verweis auf die Daten)
Meine Frage ist, ob man Samba so verdrehen kann (Konfigurieren), dass er den Symlinks zum lesen folgt, zum schreiben aber den Link entfernt und die Änderung abspeichert?
wie soll das gehen ?? Lesen und schreiben unterschiedlich ? der U*X-Namenseintrag kann nur auf eine Stelle (INode) verweisen..auf Unterschiedliche bei lesen/schreiben - macht nicht wirklich Sinn.
Wenn nicht, eine andere Idee? Du wirst wohl die Projekte clonen müssen...dafür gibts ja die Links !
Jeder hat sein Workdirektory... alle Files im pwd (present work directory) sind Symlinks auf die Files. Der eigentliche Filebereich ist für alle nicht im Zugriff... und schon kannst du 100 Files machen.. jeder sieht "seines". So genug von der U*X-Welt .... in der Win-Welt (CIFS/SMB-Protokoll) sieht einiges ganz viel anders aus.. auch da kann man Links machen..aber auch hier gilt wieder: der Zugriff wird über den Namen organisiert... jeder Name ist unique (sonst wäre es kein (File)Name.... Und Dos/win kann nicht mit Unixnamen (unix-filesystemen)... Gruss Fred -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Fred Ockert schrieb:
Simon Waldburger schrieb:
Es geht darum dass in verschiedenen Projektordnern die "core-files" meistens identisch sind. (Darum linken um Redundanzen zu verhindern.) Soll jetzt aber in einem Projekt (möglicher Kundenwunsch) an den gelinkten "core-files" etwas verändert werden, sollen die einfach bearbeitet und "überspeichert" werden können (Win-Client per SMB). Nun soll nicht die Referenzierte Datei des Symlinks verändert werden, da ja sonst alle Projekte die Änderung erhalten, sondern nur die Symlink-Datei mit der veränderten Datei überschrieben werden. (so viel zur Idee) ja .. da tust du Telnet/Putty o.ä. nehmen tun ..und tust dann einfach ein Login auf der U*X-Maschine tun und dann einen neuen Symlink setzen tun in den U*X-Verzeichnissen ( die nichts mit dem SMB-Shares zu tun haben)
gaaanz easy.... Das wird wohl definitiv nicht funktionieren - 8 Personen die nicht an Linux interessiert sind per Putty ran lassen? Ne!
[...] den Symlink überspeichere, wird die Referenzierte Datei ersetzt und nicht der Symlink. Die Aussage ist so nicht korrekt ! entweder du überschreibst den symlink oder das (gelinkte) File mit dem Wort referenziert hab ich an der Stelle ein bissel ein Problem (weil ....es ist ja nicht wahr!) Hardlinks machen einen (doppelten)Inodeeintrag (d.h. 2 Namenseinträge an unterschiedlichen Stellen, die auf den gleichen INodeeintrag zeigen)
Softlinks verweisen auf einen INodeeintrag
du müsstest dann bei Dateinamen auch von referenzierten Files reden... (weil: der Eintrag ist ja auch nur ein Verweis auf die Daten) OK - Das sollte ich eigentlich verstanden haben.
Meine Frage ist, ob man Samba so verdrehen kann (Konfigurieren), dass er den Symlinks zum lesen folgt, zum schreiben aber den Link entfernt und die Änderung abspeichert? wie soll das gehen ?? Lesen und schreiben unterschiedlich ? der U*X-Namenseintrag kann nur auf eine Stelle (INode) verweisen..auf Unterschiedliche bei lesen/schreiben - macht nicht wirklich Sinn. Wenn nicht, eine andere Idee? Du wirst wohl die Projekte clonen müssen...dafür gibts ja die Links !
Jeder hat sein Workdirektory... alle Files im pwd (present work directory) sind Symlinks auf die Files. Der eigentliche Filebereich ist für alle nicht im Zugriff... und schon kannst du 100 Files machen.. jeder sieht "seines". Das wäre meine Idee. Nur wie mache ich die Files jetzt "beschreibbar" ohne jeweils die Files der "anderen" zu überschreiben? Das muss doch irgendwie gehen!? Da gibts doch auch jenes an "Samba-Modulen" (VFS-Modul)? Kennt jemand sowas? Ein Modul, dass evtl. schaut ob der smbd während eines Schreibvorganges gerade versucht einem Symlink zu folgen, diesen dann löscht und die Datei an deren Stelle anlegt und speichert. So genug von der U*X-Welt .... in der Win-Welt (CIFS/SMB-Protokoll) sieht einiges ganz viel anders aus.. auch da kann man Links machen..aber auch hier gilt wieder: der Zugriff wird über den Namen organisiert... jeder Name ist unique (sonst wäre es kein (File)Name.... Und Dos/win kann nicht mit Unixnamen (unix-filesystemen)...
Gruss Fred
Die Priorität 1 ist für mich die Usability. Deshalb sollen die User nicht per Putty oder sonstwie auf Linux zugreifen müssen, was sie nicht verstehen (wollen). Priorität 2 liegt für mich darin, möglichst viel Platz auf der Platte zu sparen. Dankbar für jeden Input. Gruss Simon -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (2)
-
Fred Ockert
-
Simon Waldburger