Ubuntu
無法從 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 後,它仍然不讓我。
看來您混淆了兩件事:
postgres
系統使用者postgres
SQL 數據庫使用者兩者之間的唯一關係是,在安裝 PostgreSQL 時,數據庫使用者
postgres
使用對等身份驗證方法進行身份驗證:數據庫伺服器檢查請求訪問數據庫的系統使用者postgres
是否也稱為數據庫使用者postgres
。此外,數據庫伺服器本身以系統使用者身份執行postgres
。無法從數據庫中更改系統。在數據庫帳戶上提供密碼不會改變系統使用者
postgres
沒有sudo權限的事實,並且肯定是禁用密碼,因此預設情況下只允許 root 使用它(但不能反過來)。因此,如果您想成為
root
,則不能從postgres
系統帳戶執行此操作,這是一件好事:如果數據庫伺服器(其程序也以系統使用者身份執行postgres
)受到損害,將無法升級到root
從它。只需再次登錄您用於安裝 postgreSQL 的帳戶:直接登錄
root
帳戶(通常不在 Ubuntu 上完成)或(通常在 Ubuntu 上完成)在安裝系統時配置的使用者,使用 uid 1000,在 Ubuntu 上預設允許做sudo su -
。