Por que o 'postgres' requer um shell?

13

Em meus sistemas Debian Wheezy , notei que o usuário postgres 'postgres', o 'administrador do PostgreSQL', usa /bin/bash como shell. No entanto, não consigo entender por que isso é necessário. Alterar isso para /bin/false ainda me permite usar o comando psql .

Então, por que o usuário do sistema postgres requer um shell, e ele tem que ser especificamente /bin/bash ?

    
por timothymctim 28.09.2014 / 12:21

1 resposta

14

Confira Por que a 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 segurança de bug / genuíno 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 serem executados como esse usuário. Deve ser fácil verificar isso. Verifique as tarefas cron que pertencem ao psql. Verifique os scripts no pacote postgres ( dpkg-query -L ) e use-os para usar su .

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

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

    
por 28.09.2014 / 13:01