3 Stimmen

Warum benötigen Datenbanken ein separates Benutzerkonto bei der Installation?

Wenn ich PostgreSQL in Mac OS installiere, muss ich einen Benutzer namens "postgres" erstellen, um die Datenbank zu installieren. Ich denke, dasselbe gilt für viele andere Datenbanken in Unix. Was ist also der Grund, dass wir einen neuen Benutzer für die Installation benötigen?

7voto

TomH Punkte 8650

Es ist eine gute Idee, verschiedene Dinge als verschiedene Benutzer auszuführen, damit, wenn jemand über ein Sicherheitsloch in einem Programm eindringt, er auf die Dinge beschränkt ist, die der Benutzer für diesen bestimmten Dienst tun kann.

3voto

PostgreSQL benötigt kein spezielles Konto. Es kann jedes sein, solange es nicht root ist. Sie können eine Postgres-Instanz auf Ihrem eigenen Benutzer oder einem anderen ausführen.

Die meisten Installationen erstellen oder erfordern einen "postgres" Benutzer aufgrund der Sicherheit - das Ausführen als derselbe Benutzer wie der Webserver wäre eine eher schlechte Idee.

3voto

ninjalj Punkte 40810

Weil im traditionellen *nix-Sicherheitsmodell definiert ist, was ein Programm tun darf, basierend auf dem Benutzer, als der das Programm ausgeführt wird.

Es gibt auch Sicherheits-Subsysteme (z.B.: Selinux, SMACK, RSBAC ...), in denen definiert ist, was ein Programm tun darf, basierend auf expliziten Regeln, die vom Sicherheitsadministrator kontrolliert werden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X