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?

timothymctim
quelle
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.

sourcejedi
quelle