権限のないデータベースの新しいユーザーを作成すると、この新しいユーザーはすべてのスキーマ/テーブルなどを参照できますが、アクセスできません。私はこれらの特権を取り消したいが、どうすればいいのか分からない。Postgresユーザーはすべてのスキーマ/テーブルを表示します
これは私がユーザーを作成する方法である:この記事をもとに
CREATE USER wouter_test WITH PASSWORD 'wouter_test'
NOSUPERUSER NOCREATEDB NOCREATEROLE NOCREATEUSER INHERIT;
私はそれが公共のスキーマが含まれているパブリックスキーマ情報へのユーザーが持っている権限で行う必要があり考えた:https://dba.stackexchange.com/questions/98892/minimal-grants-for-readonly-single-table-access-on-postgresql
wikisiteに基づいて:https://wiki.postgresql.org/wiki/Shared_Database_Hosting は、私はそれはwoはなかった
REVOKE ALL ON SCHEMA public FROM wouter_test;
このコマンドを使用rk。以下は
REVOKE connect ON DATABASE klm FROM wouter_test;
(klm
と呼ばれるデータベースを見て、アクセスしてからユーザーを防ぐために)のいずれかに動作していないようでした。しかし、まだ利用者は、pgAdminでで、(klm
を含む)すべてのデータベース、スキーマとテーブルを見ることができます。
私は間違っていますか?
あなたは** 'PUBLIC' **役割について協議をリンクさDBAの答えではなく、' public'について**スキーマ**。 (それは代わりにそれに権利を与える/取り消すと、完全にドロップすることができるので、技術的には、それは、あまりにもスキーマに言及したが、それだけは通常使用されていないだと言う。) – pozs
公共的な役割ができますので、あなたが、私は公共の役割を取り消す必要があります示唆くださいユーザーは、データベース構造を確認するには? –
まだ作成されていないユーザー/ロールの権限を管理する場合は、通常、 'PUBLIC'を許可/取り消したいとします(ただし、' PUBLIC'はすでに作成済みのユーザーも対象としています)。 – pozs