Por que o `postgres` requer um shell?


13

Nos meus sistemas Debian Wheezy , notei que o usuário do postgres 'postgres', o "administrador do PostgreSQL", usa /bin/bashcomo shell. No entanto, não consigo descobrir por que isso é necessário. Alterar isso para /bin/falseainda me permite usar o comando psql.

Então, por que o usuário do sistema postgresexige um shell e precisa ser especificamente /bin/bash?


5
Isso foi necessário para o cronjob em execução pg_autovacuum.
Simon Richter

Respostas:


14

Confira Por que o usuário 'bin' precisa de um shell de login?

Ele diz que esse padrão para usuários do sistema é

  • Comum no Debian, e não tanto em outras distribuições.
  • Considerado um problema de bug / segurança genuína por várias pessoas.
  • Necessário para executar tarefas cron como esse usuário, e talvez também por alguns scripts se eles usarem su -c para executar como esse usuário. Deve ser fácil verificar isso. Verifique se há trabalhos cron pertencentes ao psql. Verifique se há scripts no pacote postgres ( dpkg-query -L) e grep-los para usar su.

Também é sugerido que, se sua principal preocupação é algum tipo de abuso deste usuário envolvendo logins SSH, pode ser conveniente usar o AllowGroups no sshd_config. (Criando um sshlogingrupo, conforme recomendado pelo Guia do Servidor Ubuntu ).

O padrão foi corrigido no sistema básico no início deste ano - veja o bug # 274229 . Portanto, se você acha que o postgres também pode ser corrigido, seria ótimo entrar em contato com os mantenedores do pacote, por exemplo, registrando um bug.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.