無法從 postgres 傳回 root:強制輸入發現無效的 postgres 密碼

無法從 postgres 傳回 root:強制輸入發現無效的 postgres 密碼

我已經在 Ubuntu 上安裝了 postgres 並將我切換到 postgres 用戶。我已經打開psql創建了一個資料庫,然後決定切換回root。但是,它不允許我:

sudo su - 

結果它問我

[sudo] password for postgres:

我嘗試輸入只是為了得到

Sorry, try again

然後我決定嘗試使用更改 postgres 密碼這個答案

ALTER USER postgres WITH PASSWORD 'postgres';

它看起來有效,但是在嘗試再次切換到 root 後,它仍然不允許我。

答案1

看來您混淆了兩件事:

  • postgres系統用戶
  • postgresSQL 資料庫用戶

兩者之間的唯一關係是在 PostgreSQL 安裝時,資料庫使用者postgres已通過身份驗證同行身份驗證方法:資料庫伺服器檢查系統請求存取資料庫的使用者postgres也稱為資料庫使用者postgres。此外,資料庫伺服器本身以系統使用者身分運作postgres

不可能從資料庫改變系統。為資料庫帳戶提供密碼不會改變以下事實:系統用戶postgres沒有須藤權限,並且最肯定的是禁用的密碼,因此預設僅允許 root 使用它(但反之則不然)。

因此,如果您想成為root,則無法從postgres系統帳戶執行此操作,這是一件好事:如果資料庫伺服器(其進程也以系統使用者身份運行postgres)受到損害,將無法升級root為從系統帳戶存取它。

只需再次登入您用於安裝 postgreSQL 的帳戶即可:直接登入該root帳戶(通常在Ubuntu 上不這樣做)或(通常在Ubuntu 上這樣做)在安裝系統時配置的用戶,uid 1000,在Ubuntu 上預設允許去做sudo su -

答案2

如果你想退出postgres用戶,只要輸入「exit」即可。

它將返回到 root 用戶

相關內容