我是PostreSQL的新手。我花了整整一個早上試圖讓用戶登錄正常工作,現在我非常沮喪!PostgreSQL - 添加組角色後密碼驗證失敗
所以,我有一個PostGIS數據庫,版本9.2,作爲OpenGeo軟件套件的一部分。我可以使用postgres用戶訪問數據庫,但想要讓組角色和用戶有權訪問數據庫,以便它可以在該數據庫中創建表和更新/選擇/刪除等。
我可以創建一個用戶,該工作,我可以登錄該用戶。我可以創建組角色併爲角色分配權限。然後,我可以將用戶添加到組角色,然後可以不再需要登錄!
它甚至得到了這樣,當我將用戶postgres添加到組,該用戶無法登錄。我刪除了該組,但無法登錄仍然存在。
現在,我已經玩了很多pg_hba.conf。我現在可以登錄爲postgres,但只有在啓用「信任」後,我才能使用任何軟件登錄,例如PGAdminIII。
很高興能得到一些關於出現問題的建議,並再次啓用已驗證的登錄。
pg_hba:
Code:
# Database administrative login by Unix domain socket
local all postgres trust
local all gisadmin trust
# TYPE DATABASE USER ADDRESS METHOD
local all opengeo md5
local all opengeo md5
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all gisadmin localhost trust
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication postgres peer
#host replication postgres 127.0.0.1/32 md5
#host replication postgres ::1/128 md5
正如最後一點,我想可以通過SSH隧道來登錄。我最初可以使用'postgres'用戶來做到這一點,但現在我添加並從一個組中刪除該用戶,我不能。
編輯:錯誤信息......
如果我通過SSH隧道登錄在pgAdmin的與正確的密碼,我得到的錯誤「FATAL:失敗的用戶密碼驗證......」
如果我嘗試通過PGAdmin中的SSH隧道進行登錄,而沒有設置密碼,而設置了trust選項,則會顯示錯誤:「連接到服務器的錯誤:fe_sendauth:沒有提供密碼」。
第一次失誤本地登錄時,只需通過SSH和psql仍然發生,但第二個消失了,我可以登錄的
輸出\杜+: 的
輸出\ DG +
請給出錯誤信息,說如果你試圖連接本地或遠程 –
我添加了錯誤消息。如果「信任」不在那裏,則本地和遠程的「密碼驗證失敗」。如果信任,它仍然遠程失敗。 最終我想遠程連接。我可以在本地連接,但是密碼驗證也在那裏被破壞... –
您可以顯示您在安裝過程中運行的實際命令嗎? 'psql'中'\ du +'和'\ dg +'的輸出? –