Ergebnis 1 bis 8 von 8

Thema: Netzwerkfreigabe fuer postgreSQL-DB im Dienst bereitstellen

  1. #1
    pgChristian ist offline Neuer Benutzer
    Registriert seit
    06.01.2010
    Beiträge
    3

    Standard Netzwerkfreigabe fuer postgreSQL-DB im Dienst bereitstellen

    Hallo,

    habe folgendes Problem in einer Windows-Installation
    mit Postgres als Dienst:

    Ich moechte per COPY aus der postgreSQL-DB auf
    eine Netzwerkfreigabe schreiben. Die Netzwerkfreigabe
    soll nur in der Umgebung der postgreSQL-DB-Instanz,
    gestartet durch den Dienst, sicht- und nutzbar sein.
    Einiges habe ich schon probiert incl. Aufrufen von
    Zusatzscripten etc, aber das klappt nicht. Aus der
    postgreSQL-DB kann ich die Netzwerkfreigabe ja auch
    nicht einrichten, das muss vorher passieren.

    Habt ihr einen Hinweis, wie ich das Problem loesen kann?

    Gruss,
    Christian

  2. #2
    ads
    ads ist offline Super-Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    4.020

    Standard

    Also, um das mal zu rekapitulieren: Du möchtest in ein Netzlaufwerk schreiben, von der Datenbank aus. Dort hinein darf auch nur die Datenbank schreiben, kein anderes Programm?

    Wie sieht es mit passenden Zugriffsrechten aus?
    Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören

    Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler

    PostgreSQL Service & Support

  3. #3
    pgChristian ist offline Neuer Benutzer
    Registriert seit
    06.01.2010
    Beiträge
    3

    Standard

    Naja, es ist ein lokaler Benutzer samt Passwort des
    entfernten Rechners auf der Freigabe schreibberechtigt.

    Mein erster Gedanke war: als Postgres-Benutzer
    (postgreSQL-Dienst-Anmeldekonto) anmelden, die Freigabe
    permanent auf ein Laufwerk mappen (Windows merkt sich
    die Anmeldedaten), abmelden und den Dienst-postgreSQL
    dann mit dem naechsten Systemstart hochlaufen lassen.
    Und in der DB waere dann das gemappte Laufwerk sichtbar.

    Aber das geht anscheinend nicht.

  4. #4
    ads
    ads ist offline Super-Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    4.020

    Standard

    Mal ganz ehrlich: das Problem hat ungefähr genau gar nichts mit PostgreSQL zu tun, oder? Das ist ein reines Windows Problem.

    Damit bist du bei "Installation von PostgreSQL" im falschen Forum. Ev. weiß das hier jemand aus der Windows Ecke, aber an sich solltest du in einem Windows-spezifischen Forum nachfragen.
    Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören

    Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler

    PostgreSQL Service & Support

  5. #5
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Nähe Dresden
    Beiträge
    5.337

    Standard

    Zitat Zitat von pgChristian Beitrag anzeigen
    Hallo,

    habe folgendes Problem in einer Windows-Installation
    mit Postgres als Dienst:

    Ich moechte per COPY aus der postgreSQL-DB auf
    eine Netzwerkfreigabe schreiben. Die Netzwerkfreigabe
    soll nur in der Umgebung der postgreSQL-DB-Instanz,
    gestartet durch den Dienst, sicht- und nutzbar sein.
    Einiges habe ich schon probiert incl. Aufrufen von
    Zusatzscripten etc, aber das klappt nicht. Aus der
    postgreSQL-DB kann ich die Netzwerkfreigabe ja auch
    nicht einrichten, das muss vorher passieren.

    Habt ihr einen Hinweis, wie ich das Problem loesen kann?

    Gruss,
    Christian
    Wenn ich Dich richtig verstehe, soll nur der PostgreSQL-Dienst dieses Laufwerk 'sehen', normale User am System aber nicht. Soweit richtig?

    Falls ja: das ist nicht PG-spezifisch, sondern Sache des OS.

    Unter *NIX könnte man das passend mounten. Wie man sowas unter Fenster hinbekommt, weiß ich nicht.

    Frage (falls ich Dich richtig verstanden habe): wozu?

    Wie ads schon schrieb: passende Rechte setzen, sollte doch sicher auch mit Fenster gehen.

    Ansonsten gilt der alte Grundsatz: Security by Obscurity ist eine schlechte Idee, die schlicht nicht funktioniert.


    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  6. #6
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Nähe Dresden
    Beiträge
    5.337

    Standard

    Zitat Zitat von pgChristian Beitrag anzeigen
    Naja, es ist ein lokaler Benutzer samt Passwort des
    entfernten Rechners auf der Freigabe schreibberechtigt.

    Mein erster Gedanke war: als Postgres-Benutzer
    (postgreSQL-Dienst-Anmeldekonto) anmelden, die Freigabe
    permanent auf ein Laufwerk mappen (Windows merkt sich
    die Anmeldedaten), abmelden und den Dienst-postgreSQL
    dann mit dem naechsten Systemstart hochlaufen lassen.
    Und in der DB waere dann das gemappte Laufwerk sichtbar.

    Aber das geht anscheinend nicht.
    Nur als (kranke) Idee: nimm pl/perlU, rufe damit den 'net use ...' - Befehl auf, mache Dein COPY, dann wieder mit pl/perlU das Mapping entfernen. Natürlich ist in dieser Zeit das Laufwerk dann dennoch sichtbar, security by obscurity, you know?

    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  7. #7
    pgChristian ist offline Neuer Benutzer
    Registriert seit
    06.01.2010
    Beiträge
    3

    Standard

    Erstmal danke der Antworten und dass das
    "nicht sichtbar" entsprechende Kommentare
    nach sich zieht, habe ich schon geahnt. Ihr habt
    auch recht, dass das eigentlich ein BS-Problem ist.
    Ich dachte bloss, jemand hat schonmal dasselbe
    versucht.
    Was ich mit einer mini-Exe (Call: 'net use...'), als
    PostgreSQL-Dienst gestartet, herausbekommen habe,
    ist, dass das im Dienst gemappte LW nicht von anderen
    Instanzen ansprechbar ist. Sichtbar, aber nicht benutzbar.

    Es gibt noch die Loesung, den postgreSQL-Benutzer
    als Schreibberechtigten auf dem entfernten Share
    aufzunehmen, aber die Rechner kennen sich nicht,
    weil unterschiedliche Domaenen. OK, ich sehe schon,
    irgendwie ist es etwas verzwickt.
    Die Loesung mit dem pl/perlU werde ich mal ausprobieren,
    aber die CALL-Befehle mit net use sind nicht so richtig
    performant.

  8. #8
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Nähe Dresden
    Beiträge
    5.337

    Standard

    Zitat Zitat von pgChristian Beitrag anzeigen
    Erstmal danke der Antworten und dass das
    "nicht sichtbar" entsprechende Kommentare
    nach sich zieht, habe ich schon geahnt. Ihr habt
    auch recht, dass das eigentlich ein BS-Problem ist.
    Ich dachte bloss, jemand hat schonmal dasselbe
    versucht.
    Was ich mit einer mini-Exe (Call: 'net use...'), als
    PostgreSQL-Dienst gestartet, herausbekommen habe,
    ist, dass das im Dienst gemappte LW nicht von anderen
    Instanzen ansprechbar ist. Sichtbar, aber nicht benutzbar.

    Es gibt noch die Loesung, den postgreSQL-Benutzer
    als Schreibberechtigten auf dem entfernten Share
    aufzunehmen, aber die Rechner kennen sich nicht,
    weil unterschiedliche Domaenen. OK, ich sehe schon,
    irgendwie ist es etwas verzwickt.
    Die Loesung mit dem pl/perlU werde ich mal ausprobieren,
    aber die CALL-Befehle mit net use sind nicht so richtig
    performant.

    Es gibt noch eine andere Lösung:

    Du rufst von remote aus auf:

    Code:
    psql -h <server> -p 5432 -U <your_user> <your_db> -c "copy <your_table> to stdout" > table.copy
    Damit landet der Output vom COPY-Befehl auf dem Remote-Rechner in der Datei "table.copy".

    Soll es abhörsicher sein, garniert man dies noch mit einem SSH-Tunnel. Als Kompott gibt es den Verzicht auf das blöde Windows-Freigabe-Gehampel.



    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum