Ubuntuにpostgresをインストールしましたが、postgresユーザーに切り替わりました。 psql
を開いてデータベースを作成し、ルートに戻すことにしました。しかし、それは私を許可しません:
Sudo su -
結果は私に尋ねます
[Sudo] password for postgres:
取得するためだけに入力してみました
Sorry, try again
それから私は この答え を使用してpostgresパスワードを変更しようと決心しました:
ALTER USER postgres WITH PASSWORD 'postgres';
動作したように見えますが、rootに再度切り替えようとした後でも、それでもうまくいきません。
あなたは2つのことを混乱させているようです:
postgres
システムユーザーpostgres
SQLデータベースユーザー両者の唯一の関係は、PostgreSQLのインストール時に、データベースユーザーpostgres
が peer認証方法で認証されることです。 :データベースサーバーは、データベースユーザーpostgres
としてデータベースへのアクセスを要求しているsystemユーザーがpostgres
とも呼ばれることを確認します。また、データベースサーバー自体はシステムユーザーpostgres
として実行されます。
データベースからシステムを変更することはできません。データベースアカウントにパスワードを指定しても、systemユーザーpostgres
にSudo権限がないという事実は変わりません。パスワードを無効にし、rootのみがデフォルトでパスワードを使用できるようにします(逆はできません)。
したがって、root
になりたい場合は、postgres
システムアカウントからこれを行うことはできません。これは良いことです。データベースサーバー(システムユーザーpostgres
としても実行されているプロセス)が危険にさらされた場合、エスカレーションする方法はありません。それからroot
アクセスへ。
PostgreSQLのインストールに使用したアカウントに再度ログインするだけです。root
アカウント(通常はUbuntuでは実行されません)または(通常はUbuntuで実行されます)システムのインストール時に構成されたユーザーで、uid1000を使用してUbuntuで許可されます。デフォルトではSudo su -
を実行します。