Warum braucht `postgres` eine Muschel?


13

In meinen Debian Wheezy- Systemen ist mir aufgefallen, dass der postgres-Benutzer 'postgres', der "PostgreSQL-Administrator", /bin/bashals Shell verwendet. Ich kann jedoch nicht herausfinden, warum dies erforderlich ist. Wenn /bin/falseich dies ändere, kann ich den Befehl trotzdem verwenden psql.

Warum benötigt der Systembenutzer also postgreseine Shell und muss diese speziell sein /bin/bash?


5
Dies wurde für den Cronjob benötigt pg_autovacuum.
Simon Richter

Antworten:


14

Check out Warum benötigt der Benutzer 'bin' eine Login-Shell?

Es besagt, dass dieses Muster für Systembenutzer gilt

  • In Debian üblich, in anderen Distributionen weniger.
  • Wurde von mehreren Personen als Fehler / echtes Sicherheitsproblem angesehen.
  • Erforderlich, um Cron-Jobs als dieser Benutzer auszuführen, und möglicherweise auch von einigen Skripten, wenn sie su -c verwenden, um als dieser Benutzer ausgeführt zu werden. Es sollte einfach sein, diese zu überprüfen. Suchen Sie nach Cron-Jobs, die zu psql gehören. Suchen Sie nach Skripten im postgres-Paket ( dpkg-query -L) und suchen Sie nach ihnen, um sie zu verwenden su.

Es wird auch empfohlen, AllowGroups in sshd_config zu verwenden, wenn Ihre Hauptsorge ein Missbrauch dieses Benutzers mit SSH-Anmeldungen ist. (Erstellen einer sshloginGruppe, wie im Ubuntu Server Guide empfohlen ).

Das Muster wurde Anfang dieses Jahres im Basissystem behoben - siehe Fehler # 274229 . Wenn Sie also der Meinung sind, dass auch Postgres behoben werden könnten, ist es hilfreich, die Paketbetreuer zu kontaktieren, z. B. indem Sie einen Fehler melden.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.