
Ubuntu に postgres をインストールしたところ、postgres ユーザーに切り替わりました。psql
データベースを開いて作成した後、root に戻すことにしました。しかし、次の操作は実行できません:
sudo su -
その結果、私に尋ねられる
[sudo] password for postgres:
入力してみたところ
Sorry, try again
そこで、postgresのパスワードを変更してみることにしました。この答え:
ALTER USER postgres WITH PASSWORD 'postgres';
一見うまくいったように見えますが、再度ルートに切り替えようとした後も、まだできません。
答え1
どうやらあなたは2つのことを混同しているようです:
postgres
システムユーザーpostgres
SQLデータベースユーザー
両者の唯一の関係は、PostgreSQLのインストール時に、データベースユーザーpostgres
は仲間認証方法: データベースサーバーは、システムデータベース ユーザーとしてデータベースへのアクセスを要求するユーザーpostgres
も と呼ばれますpostgres
。また、データベース サーバー自体はシステム ユーザーとして実行されますpostgres
。
データベースからシステムを変更することはできません。データベースアカウントにパスワードを与えても、システムユーザーpostgres
は須藤権限があり、パスワードが無効になっているため、デフォルトでは root のみが使用できます (ただし、その逆はできません)。
したがって、 になりたい場合root
、システム アカウントからはこれを行うことはできませんpostgres
。これは良いことです。データベース サーバー (そのプロセスもシステム ユーザー として実行されています) が侵害された場合、そこからアクセスpostgres
をエスカレートする方法はありません。root
postgreSQL のインストールに使用したアカウントに再度ログインします。アカウントは直接ログインするかroot
(Ubuntu では通常実行されません)、システムのインストール時に設定した uid 1000 のユーザー (Ubuntu では通常実行) のいずれかで、Ubuntu ではデフォルトでログインが許可されていますsudo su -
。
答え2
postgres ユーザーを終了する場合は、「exit」と入力するだけです。
ルートユーザーに戻ります