pg_restore

Probleme und Fragen zum Thema Trigger und Funktionen.
Antworten
Lucaturni
Neuer Benutzer
Beiträge: 2
Registriert: Mi 7. Jun 2017, 11:02

pg_restore

Beitrag von Lucaturni » Mi 7. Jun 2017, 11:20

Hallo,

ich hab folgendes Problem: Es soll von einem Backup aus die Datenbank lokal bei Verschiedenen kunden befüllt/erstellt werden.

Ich mache das mit einer Batch datei in dieser art:

Code: Alles auswählen

ECHO ON
SET PGPASSFILE=\Bash fur Kunde\pg\pgpass.conf

cd C:\"Program Files"\PostgreSQL\bin\
pg_restore.exe -h localhost -p 5435 -U usern -d postgres "C:\Bash fur Kunde\backup.backup" 
ECHO Datenbank erstellt
Pause
Das funktioniert so auch, aber der Kunde kann sich die pgpass datei und somit das Passwort anschauen.

Wie kann ich das ganze so gestalten das der Kunde das Passwort nicht mehr lesen kann?
Kann ich vielleicht das ganze irgendwie verschlüsseln oder so?

akretschmer
Erfahrener Benutzer
Beiträge: 7295
Registriert: So 29. Okt 2006, 13:35
Wohnort: Kaufbach, Sachsen, Germany, Germany
Kontaktdaten:

Re: pg_restore

Beitrag von akretschmer » Mi 7. Jun 2017, 11:27

Das Passwort interaktiv anfordern & eingeben?
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Lucaturni
Neuer Benutzer
Beiträge: 2
Registriert: Mi 7. Jun 2017, 11:02

Re: pg_restore

Beitrag von Lucaturni » Mi 7. Jun 2017, 13:08

Danke für die schnelle Antwort. Meinst du mit eingeben der Kunde soll es dann eingeben, oder irgendein programm?

Die Idee ist einen Ordner mit der Batch-Datei dem Backup und der pgpass.conf zu verschicken. So das dieser nur die Batch ausführen muss und die Datenbank erstellt wird. Diese wird für ein drittes Programm benötigt. Deshalb darf der Kunde auch nicht das Passwort wissen oder herrausfinden

akretschmer
Erfahrener Benutzer
Beiträge: 7295
Registriert: So 29. Okt 2006, 13:35
Wohnort: Kaufbach, Sachsen, Germany, Germany
Kontaktdaten:

Re: pg_restore

Beitrag von akretschmer » Mi 7. Jun 2017, 13:58

Ach so, dann hatte ich das wohl falsch verstanden.

Warum darf der User keine Passwörter kennen? Er ist eh jederzeit in der Lage, sich die pg_hba.conf auf TRUST zu setzen. Er muß auch selber Backups erstellen und diese auch einspielen können. Ich sehe das konzeptionell kritisch.

Die Alternative dazu wäre, die DB läuft irgendwo remote und Deine Kunden bekommen nur eingeschränkte Rechte, die Administration machst Du oder wer anders. Aber wenn ich Kunde wäre und hätte eine geschäftskritische Anwendung mit einer Datenbank, die zwar bei mir läuft, aus der ich aber ausgesperrt bin, hätte ich arge Bauchschmerzen.
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Gisman
Erfahrener Benutzer
Beiträge: 1085
Registriert: Fr 20. Jan 2006, 15:30
Wohnort: Pfalz
Kontaktdaten:

Re: pg_restore

Beitrag von Gisman » Mi 7. Jun 2017, 16:01

Prinzipiell kannst du das Passwort auch mit dem Statement im Skript übergeben WIMRE, aber ansonsten schliesse ich mich akretschmar an.

Gruß Uwe

castorp
Erfahrener Benutzer
Beiträge: 1006
Registriert: Sa 27. Jun 2009, 22:24
Kontaktdaten:

Re: pg_restore

Beitrag von castorp » Do 8. Jun 2017, 08:18

Lucaturni hat geschrieben: Diese wird für ein drittes Programm benötigt. Deshalb darf der Kunde auch nicht das Passwort wissen oder herausfinden
Das nützt nichts, wenn der Server beim Kunden läuft. Wie von akretschmer schon erwähnt kann der Kunde die Konfiguration einfach so abändern, dass gar kein Passwort mehr notwendig ist.

Sobald jemand physisch zugriff auf die Dateien einer Datenbank hat, ist es praktisch unmöglich diese zu schützen.

Wenn die Datenbank beim Kunden läuft ist doch anzunehmen, dass dort auch die Daten des Kunden drinstehen.
Warum sollte der keinen Zugriff auf seine Daten bekommen?
A SQL query walks into a bar and sees two tables. He walks up to them and says 'Can I join you?'

Antworten