Postgresqlのインストールでは、「postgres」ユーザーを作成しないようにします

Postgresqlのインストールでは、「postgres」ユーザーを作成しないようにします

SUSE Linux Enterprise Server 11 では 1 人のユーザーしか使用できないという制約があります。

今、PostgreSQL をインストールする必要があります。PostgreSQL のインストール ウィザードによる「postgres」Linux ユーザーの自動作成を回避し、現在のユーザーをデータベース管理者として使用することは可能ですか?

奇妙な制約についての追加説明:

私たちは、大手銀行の子会社である IT 会社のサーバーでソフトウェアをホストする必要があります。機密性の高いユーザー データの保存と処理のため、非常に厳しい規則があります。そのため、規則の 1 つは、そのサーバーに 1 人のユーザーしか存在できず、すべてをこのユーザー (sudo 権限を持つ) の下にインストールする必要があるというものです。当初、サーバーには最も基本的なソフトウェアのみが含まれています (PostgreSQL は含まれていません)。

この場合、Docker は代替手段ではありません。

答え1

あなたの要件は、かなり無能な誰かによって解釈されたように思います。

私はこう主張したいユーザーは人であるそして各人必要なデータベースサーバーへの管理者アクセス権が必要です個人ユーザーアカウント、 として共有アカウントは悪である; 個々の人々にその行動の責任を負わせられるようにする必要があります。

サービスは特定の個人に属するものではなく、サービスアカウントまた、postgres アカウントなどのサービス アカウントは、ユーザー アカウントと同じではないと思います。まず、ユーザーのアカウントは、退職者や非アクティブなユーザーのアクセスを無効にするセキュリティ プロセスの一部です...
給与データベースをインストールした HR の Alice が会社を辞めたときに、そのデータベースを削除したくないですよね?

使用したくない場合はSuSe のストック RPM パッケージpostgresの場合(postgresサービスアカウントも作成されます)自分で作る手動でインストールするのではなく、それらを IT 部門に提供します。

そうすれば、データベース管理者のユーザーアカウントはインストーラを実行するために過度の権限を必要とせず、(本番)サーバーにインストールされたコンパイラやビルドツールによる大きなフットプリントも必要ありません。依存関係のリストが明確になり、パッケージは必要なサービスアカウント(または既存のもの)を作成し、すべての権限をはるかに簡単に設定できます。繰り返して監査するインストーラー スクリプトを実行するよりも簡単です。

sudoPosgresデータベースサーバーを管理する人に適したプロファイルを作成し、管理者がPostgres管理者がpostgresユーザーとして実行する必要があるコマンドの限定されたサブセットを実行できるようにしますpsqlservice postgres [stop|start|restart]pg*

しかし、実際の質問に答えると、

PostgreSQL のインストール ウィザードによる「postgres」Linux ユーザーの自動作成を回避するにはどうすればよいですか?

ウィザードを実行せず、ソースからビルドする正しいオプションを使用して、ビルドを実行するユーザーがアクセスできるインストール ディレクトリを選択します。他のユーザー アカウントや昇格された権限は必要ありません。

./configure --prefix=/path/to/dir [--other-options]
make
make install

答え2

によるインストールマニュアルの短縮版ソースからインストールする場合は手動でユーザーを作成する必要があります。ユーザー アカウントに追加して、PostgreSQL を起動します。これらの手順をスキップすると、サーバーを自分のローカル ユーザー アカウントとして実行できます。

SUSE が提供するパッケージをインストールすると、作成されたユーザー アカウントを手動で削除し、起動時にデーモンを起動する構成ファイルを変更して、そのユーザー アカウントではなく自分のアカウントを使用するようにすることができます。残念ながら、私は SUSE Linux を実行していないため、その詳細を提供することはできません。

関連情報