
私のDebianでゆるいシステムでは、postgresユーザー「postgres」(「PostgreSQL管理者」)が/bin/bash
シェルを使用していることがわかりました。しかし、これがなぜ必要なのか分かりません。に変更すると、/bin/false
まだコマンドを使用できますpsql
。
それでは、システムユーザーにpostgres
シェルが必要なのはなぜですか?具体的でなければなりませんか/bin/bash
?
答え1
確認する「bin」ユーザーにログインシェルが必要なのはなぜですか?
システムユーザーのためのこのモードは次のとおりです。
- Debian では一般的で、他のディストリビューションではあまり一般的ではありません。
- 多くの人がバグ/実際のセキュリティ問題と見なしました。
- このユーザーとしてcronジョブを実行する必要があり、su -cを使用してこのユーザーとして実行する場合は、いくつかのスクリプトが必要になる場合があります。これを確認するのは簡単です。 psqlに属するcronジョブを確認してください。 postgresパッケージ()
dpkg-query -L
のスクリプトを確認してgrepして使用してくださいsu
。
また、SSHログインに関するこのユーザーに対する悪用が主な関心事である場合は、sshd_configでAllowGroupsを使用するのが便利かもしれません。 (sshlogin
提案どおりにグループを作成します。Ubuntuサーバーガイド)。
このモードは今年初めに基本システムで修正されました。バグ #274229。したがって、postgresも修正される可能性があると思われる場合は、バグを送信するなど、パッケージマネージャに連絡するのが最善です。