Perché `postgres` richiede una shell?


13

Nei miei sistemi Debian Wheezy , ho notato che l'utente postgres 'postgres', l '"amministratore PostgreSQL", usa /bin/bashcome shell. Tuttavia, non riesco a capire perché sia ​​necessario. La modifica di questo in modo /bin/falseancora mi consente di utilizzare il comando psql.

Quindi, perché l'utente di sistema postgresrichiede una shell e deve essere specificamente /bin/bash?


5
Ciò era necessario per il cronjob in esecuzione pg_autovacuum.
Simon Richter,

Risposte:


14

Verifica Perché l'utente 'bin' ha bisogno di una shell di accesso?

Dice che questo schema è per gli utenti del sistema

  • Comune in Debian e non tanto in altre distribuzioni.
  • Considerato un bug / autentico problema di sicurezza da diverse persone.
  • Richiesto per eseguire cron job come quell'utente, e forse anche da alcuni script se usano su -c per essere eseguito come questo utente. Dovrebbe essere facile verificarli. Controlla i lavori cron che appartengono a psql. Cerca gli script nel pacchetto postgres ( dpkg-query -L) e grep per usarli su.

Si suggerisce inoltre che se la tua preoccupazione principale è una sorta di abuso di questo utente che coinvolge accessi SSH, potrebbe essere conveniente usare AllowGroups in sshd_config. (Creazione di un sshlogingruppo, come raccomandato dalla Guida del server Ubuntu ).

Lo schema è stato corretto nel sistema di base all'inizio di quest'anno - vedi bug # 274229 . Quindi, se pensi che anche postgres possa essere risolto, sarebbe bello contattare i manutentori del pacchetto, ad esempio presentando un bug.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.