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?
Antworten
Zu viele Anzeigen?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.
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.