¿Por qué los `postgres` requieren un shell?

13

En mis sistemas Debian Wheezy , noté que el usuario postgres 'postgres', el "administrador de PostgreSQL", lo usa /bin/bashcomo shell. Sin embargo, no puedo entender por qué esto es necesario. Cambiar esto a /bin/falsetodavía me permite usar el comando psql.

Entonces, ¿por qué el usuario del sistema postgresrequiere un shell y tiene que ser específicamente /bin/bash?

timotimctim
fuente
55
Esto era necesario para la ejecución de cronjob pg_autovacuum.
Simon Richter

Respuestas:

14

Echa un vistazo ¿Por qué el usuario 'bin' necesita un shell de inicio de sesión?

Dice que este patrón para usuarios del sistema es

  • Común en Debian, y no tanto en otras distribuciones.
  • Considerado un error / problema de seguridad genuino por varias personas.
  • Requerido para ejecutar trabajos cron como ese usuario, y quizás también por algunos scripts si usan su -c para ejecutarse como este usuario. Debería ser fácil verificar esto. Verifique los trabajos cron que pertenecen a psql. Verifique los scripts en el paquete postgres ( dpkg-query -L) y agrúpelos para usarlos su.

También se sugiere que si su principal preocupación es algún tipo de abuso de este usuario que involucra inicios de sesión SSH, podría ser conveniente usar AllowGroups en sshd_config. (Creación de un sshlogingrupo, según lo recomendado por la Guía del servidor de Ubuntu ).

El patrón se corrigió en el sistema base a principios de este año; vea el error # 274229 . Entonces, si crees que los postgres también podrían repararse, sería genial contactar a los encargados del mantenimiento del paquete, por ejemplo, presentando un error.

sourcejedi
fuente