为什么“postgres”需要 shell?

为什么“postgres”需要 shell?

在我的 Debian 中气喘吁吁系统中,我注意到 postgres 用户“postgres”(“PostgreSQL 管理员”)使用/bin/bashshell。但是,我不明白为什么需要这样做。将其更改为/bin/false仍然允许我使用该命令psql

那么,为什么系统用户postgres需要 shell,它是否必须是特定的/bin/bash

答案1

查看为什么“bin”用户需要登录 shell?

它说系统用户的这种模式是

  • 在 Debian 中很常见,在其他发行版中则不太常见。
  • 被几个人认为是错误/真正的安全问题。
  • 需要以该用户身份运行 cron 作业,如果某些脚本使用 su -c 以该用户身份运行,则可能还需要这些脚本。检查这些应该很容易。检查属于 psql 的 cron 作业。检查 postgres 包 ( dpkg-query -L) 中的脚本并 grep 它们以供使用su

它还建议,如果您主要担心的是涉及 SSH 登录的某种滥用该用户的情况,那么在 sshd_config 中使用 AllowGroups 可能会很方便。 (sshlogin按照建议创建一个组Ubuntu 服务器指南)。

该模式已于今年早些时候在基础系统中修复 - 请参阅错误#274229。因此,如果您认为 postgres 也可以修复,最好联系软件包维护者,例如通过提交错误。

相关内容