Почему `postgres` требует оболочки?

13

В моих системах Debian Wheezy я заметил, что пользователь postgres 'postgres', "администратор PostgreSQL", использует в /bin/bashкачестве оболочки. Однако я не могу понять, зачем это нужно. Изменение этого до /bin/falseвсе еще позволяет мне использовать команду psql.

Итак, зачем системному пользователю postgresнужна оболочка, и должна ли она быть конкретно /bin/bash?

timothymctim
источник
5
Это было необходимо для запуска cronjob pg_autovacuum.
Саймон Рихтер

Ответы:

14

Проверьте, зачем пользователю 'bin' нужна оболочка для входа?

Он говорит, что этот шаблон для пользователей системы

  • Обычный в Debian, и не очень в других дистрибутивах.
  • Считается ошибкой / подлинной проблемой безопасности несколькими людьми.
  • Требуется для запуска заданий cron от имени этого пользователя и, возможно, также для некоторых сценариев, если они используют su -c для запуска от имени этого пользователя. Должно быть легко проверить это. Проверьте работу cron, принадлежащую psql. Проверьте наличие скриптов в пакете postgres ( dpkg-query -L) и grep для их использования su.

Предполагается также, что если вас больше всего беспокоит какое-либо злоупотребление этим пользователем, связанное с входом в систему по SSH, было бы удобно использовать AllowGroups в sshd_config. (Создание sshloginгруппы, как рекомендовано Руководством по Ubuntu Server ).

Шаблон был исправлен в базовой системе ранее в этом году - см. Ошибку # 274229 . Поэтому, если вы считаете, что postgres также можно исправить, было бы здорово связаться с сопровождающими пакета, например, отправив сообщение об ошибке.

sourcejedi
источник