Postgresql 安裝,避免建立「postgres」用戶

Postgresql 安裝,避免建立「postgres」用戶

我有一個限制,就是我只能在 SUSE Linux Enterprise Server 11 上使用一個使用者。

現在,我需要安裝 PostgreSQL。是否有可能以某種方式避免 PostgreSQL 安裝精靈自動建立「postgres」linux 用戶,並使用目前使用者作為資料庫管理員?

關於奇怪的約束的附加解釋:

我們必須將我們的軟體託管在IT公司的伺服器上,該公司是大銀行的子公司。由於敏感用戶資料的儲存和處理,他們有相當嚴格的規則。因此,規則之一是我們只能有一個用戶,並且所有內容都應該安裝在該用戶下方(具有 sudo 權限)。最初,伺服器只有最基本的軟體(且不包含 PostgreSQL)。

在這種情況下,Docker 不是替代方案。

答案1

我認為你的要求似乎是由一個非常無能的人來解釋的。

我認為用戶是一個人並為每個人需要對您需要的資料庫伺服器具有管理員存取權限個人用戶帳戶, 作為共享帳戶是邪惡的;你需要能夠讓個人對其行為負責。

服務不屬於某個人,而是由服務帳戶恕我直言,服務帳戶(例如 postgres 帳戶)與使用者帳戶不同。對於初學者來說,人員帳戶是安全流程的一部分,該流程會撤銷離職者和不活躍用戶的存取權限…
當安裝該資料庫的 HR 的 Alice 離開公司時,您不想刪除該資料庫,對嗎?

當你不想使用SuSe 的庫存 RPM 軟體包對於 postgres(這也將建立 postgres 服務帳戶),請創建你自己的並將其提供給 IT 部門,而不是進行手動安裝。

這樣,您的資料庫管理員使用者帳戶將不需要過多的權限來運行安裝程序,您不需要在(生產)伺服器上安裝編譯器和建置工具而佔用大量空間,您有一個清晰的依賴項列表,並且套件可以建立必要的服務帳戶(或使用現有的)並以更容易的方式設定所有權限重複和審核比運行安裝程序腳本。

為管理 Posgres 資料庫伺服器的人員建立合適的設定文件,sudo並允許管理員執行 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,所以我無法向您提供相關詳細資訊。

相關內容