Postgresql-Installation, vermeiden Sie die Erstellung des Benutzers „postgres“

Postgresql-Installation, vermeiden Sie die Erstellung des Benutzers „postgres“

Ich habe die Einschränkung, dass ich auf einem SUSE Linux Enterprise Server 11 nur einen Benutzer verwenden kann.

Jetzt muss ich PostgreSQL installieren. Ist es möglich, die automatische Erstellung des Linux-Benutzers „postgres“ durch den Installationsassistenten von PostgreSQL irgendwie zu vermeiden und den aktuellen Benutzer als Datenbankadministrator zu verwenden?

Zusätzliche Erklärung zu den seltsamen Einschränkungen:

Wir müssen unsere Software auf dem Server des IT-Unternehmens hosten, das eine Tochtergesellschaft der Großbank ist. Sie haben ziemlich strenge Regeln, was die Speicherung und Verarbeitung der sensiblen Benutzerdaten betrifft. Eine der Regeln ist, dass wir dort nur einen Benutzer haben können und alles unter diesem Benutzer (mit Sudo-Rechten) installiert werden muss. Anfangs verfügt der Server nur über die grundlegendste Software (und PostgreSQL ist dort nicht enthalten).

Docker ist in diesem Fall keine Alternative.

Antwort1

Ich glaube, Ihre Anforderungen scheinen von einer völlig inkompetenten Person interpretiert worden zu sein.

Ich würde behaupten, dassEin Benutzer ist eine Personund fürjede Persondas muss Administratorzugriff auf den Datenbankserver haben, den Sie benötigenein persönliches Benutzerkonto, alsGemeinsam genutzte Accounts sind böse; Sie müssen in der Lage sein, einzelne Personen für ihre Handlungen zur Verantwortung zu ziehen.

Dienste gehören nicht einer einzelnen Person, sondern werden ausgeführt vonDienstkontound Dienstkonten wie das Postgres-Konto sind meiner Meinung nach nicht dasselbe wie Benutzerkonten. Zunächst einmal sind Personenkonten Teil des Sicherheitsvorgangs, der den Zugriff für ausscheidende und inaktive Benutzer widerruft ...
Sie möchten die Gehaltsabrechnungsdatenbank doch nicht löschen, wenn Alice aus der Personalabteilung, die sie installiert hat, das Unternehmen verlässt, oder?

Wenn Sie dieStandard-RPM-Pakete von SuSefür Postgres (wodurch auch das Postgres-Dienstkonto erstellt wird) bitteerstelle dein eigenesund stellen Sie diese der IT-Abteilung zur Verfügung, anstatt eine manuelle Installation durchzuführen.

Auf diese Weise benötigen Ihre Datenbankadministrator-Benutzerkonten keine übermäßigen Berechtigungen, um ein Installationsprogramm auszuführen, Sie benötigen keinen großen Platzbedarf mit auf (Produktions-)Servern installierten Compilern und Build-Tools, Sie haben eine klare Liste der Abhängigkeiten und das Paket kann das erforderliche Dienstkonto erstellen (oder ein vorhandenes verwenden) und alle Berechtigungen auf eine Weise einrichten, die viel einfacher zuWiederholung und Prüfungals das Ausführen von Installationsskripten.

Erstellen Sie ein geeignetes sudoProfil für die Personen, die den Posgres-Datenbankserver verwalten, und ermöglichen Sie Administratoren die Ausführung der begrenzten Teilmenge an Befehlen, die ein Postgres-Administrator als Postgres-Benutzer ausführen müsste, d. h psql. , service postgres [stop|start|restart],pg*

Aber um deine eigentliche Frage zu beantworten:

Wie kann die automatische Erstellung des Linux-Benutzers „postgres“ durch den Installationsassistenten von PostgreSQL vermieden werden?

Führen Sie den Assistenten nicht aus, sondernAus der Quelle erstellen, verwenden Sie die richtigen Optionen, um ein Installationsverzeichnis auszuwählen, auf das der Benutzer, der den Build ausführt, zugreifen kann. Es sind keine anderen Benutzerkonten oder erhöhten Berechtigungen erforderlich.

./configure --prefix=/path/to/dir [--other-options]
make
make install

Antwort2

Entsprechend derKurzfassung der Installationsanleitung, müssen Sie bei der Installation aus Quellen manuell einen Benutzer erstellen, dannsozum Benutzerkonto und starten Sie PostgreSQL. Überspringen Sie einfach diese Schritte und Sie führen den Server unter Ihrem eigenen lokalen Benutzerkonto aus.

Wenn Sie das von SUSE bereitgestellte Paket installieren, können Sie das von ihm erstellte Benutzerkonto manuell löschen und die Konfigurationsdateien, die den Daemon beim Booten starten, so ändern, dass nicht dieses Benutzerkonto, sondern Ihr eigenes verwendet wird. Leider läuft bei mir SUSE Linux nicht, daher kann ich Ihnen diesbezüglich keine Einzelheiten liefern.

verwandte Informationen