Dlaczego `postgres` wymaga powłoki?

13

W moich systemach Debian Wheezy zauważyłem, że użytkownik postgres „postgres”, „administrator PostgreSQL”, używa /bin/bashjako powłoki. Nie mogę jednak zrozumieć, dlaczego jest to potrzebne. Zmiana tego na /bin/falsewciąż pozwala mi korzystać z polecenia psql.

Dlaczego więc użytkownik systemu postgrespotrzebuje powłoki i czy musi to być konkretnie /bin/bash?

timothymctim
źródło
5
Było to wymagane do działania cronjob pg_autovacuum.
Simon Richter

Odpowiedzi:

14

Sprawdź Dlaczego użytkownik „bin” potrzebuje powłoki logowania?

Mówi, że ten wzór dla użytkowników systemu jest

  • Powszechne w Debianie i nie tak bardzo w innych dystrybucjach.
  • Uznane przez kilka osób za błąd / prawdziwy problem bezpieczeństwa.
  • Wymagane w celu uruchamiania zadań cron jako ten użytkownik, a być może także przez niektóre skrypty, jeśli używają su -c do uruchamiania jako ten użytkownik. Można to łatwo sprawdzić. Sprawdź zadania cron należące do psql. Sprawdź skrypty w pakiecie postgres ( dpkg-query -L) i grep je do użycia su.

Sugeruje się również, że jeśli głównym zmartwieniem jest nadużycie tego użytkownika związane z logowaniem SSH, wygodne może być użycie AllowGroups w sshd_config. (Tworzenie sshlogingrupy, zgodnie z zaleceniami Ubuntu Server Guide ).

Wzór został naprawiony w systemie podstawowym na początku tego roku - patrz błąd # 274229 . Więc jeśli uważasz, że postgres również może zostać naprawiony, dobrze byłoby skontaktować się z opiekunami pakietu, np. Poprzez zgłoszenie błędu.

sourcejedi
źródło