私は1つの仮想マシンにHTML &のPHPファイルをホストし、別の仮想マシンにPostgresqlデータベースをセットアップすることを任されています。PostgreSQLユーザーから特定の権限を与えたり取り消したりするにはどうしたらいいですか?
私は最近Postgresqlをインストールし、公式のPostgresqlドキュメンテーションを使用してデータベースを作成し、ユーザを作成し、&の失効権利を付与する方法を学んでいます。
mfc_dstという名前のデータベースを作成した後、私は4人の貴様のユーザーを作成するために注文し、私は問題を抱えている場所ですした
-The最初のユーザーが管理者の名前する必要があり、でなければなりません既存ユーザー以外のユーザーのみpostgresには無制限の権利があります。
-The秒(名前CFC)及び(秒命名)第3のユーザのみがmfc_dstデータベースのすべてのテーブルにとUPDATE権限を選択しておく必要があります。
- 及び(教授命名)/最後の第四のユーザのみmfc_dstという名前のデータベースからdevoirという名前テーブルを表示することができなければなりません。
CREATEandGRANT.sql
REVOKE ALL ON ALL TABLES IN SCHEMA public TO cfc;
REVOKE ALL ON ALL TABLES IN SCHEMA public TO sec;
REVOKE ALL ON ALL TABLES IN SCHEMA public TO prof;
GRANT CONNECT ON DATABASE mfc_dst TO admin;
GRANT CONNECT ON DATABASE mfc_dst TO cfc;
GRANT CONNECT ON DATABASE mfc_dst TO sec;
GRANT CONNECT ON DATABASE mfc_dst TO prof;
GRANT SELECT,UPDATE
ON ALL TABLES IN SCHEMA public
TO cfc;
GRANT SELECT,UPDATE
ON ALL TABLES IN SCHEMA public
TO sec;
GRANT SELECT ON devoir TO prof;
この他の1:
はこれを実現するために、私は2つの異なるスクリプトを使用これら2つのスクリプトへ
REVOKE.sql
REVOKE ALL ON TABLE professeur FROM PUBLIC;
REVOKE ALL ON TABLE reserver FROM PUBLIC;
REVOKE ALL ON TABLE salle FROM PUBLIC;
REVOKE ALL ON TABLE semaine FROM PUBLIC;
REVOKE ALL ON TABLE surveiller FROM PUBLIC;
おかげで、私は見てから教授という名前のユーザーを防ぐことができました他のテーブルが、私は持っている問題は、ユーザーがCFC、秒、教授という名前のことですが、まだ、すべての3つのテーブルを作成することができるとドロップ彼らにしています。
は、それがこれをやってからそれらを防ぐ方法を知っているし、可能ならば、将来的には、そのような権利/特権を持っていることから、新しく作成したユーザーを防止することは可能ですか?
は
事前にありがとうござい
大変ありがとうございます。 –