@@ -793,3 +793,316 @@ TIP 5: Have you checked our extensive FAQ?
793793
794794http://www.postgresql.org/users-lounge/docs/faq.html
795795
796+ From pgsql-hackers-owner+M4091@postgresql.org Mon Jan 29 17:00:26 2001
797+ Received: from mail.postgresql.org (webmail.postgresql.org [216.126.85.28])
798+ by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id SAA13925
799+ for <pgman@candle.pha.pa.us>; Mon, 29 Jan 2001 18:00:25 -0500 (EST)
800+ Received: from mail.postgresql.org (webmail.postgresql.org [216.126.85.28])
801+ by mail.postgresql.org (8.11.1/8.11.1) with SMTP id f0TMq7q43267;
802+ Mon, 29 Jan 2001 17:52:07 -0500 (EST)
803+ (envelope-from pgsql-hackers-owner+M4091@postgresql.org)
804+ Received: from ara.zf.jcu.cz (ara.zf.jcu.cz [160.217.161.4])
805+ by mail.postgresql.org (8.11.1/8.11.1) with ESMTP id f0TMbYq42245
806+ for <pgsql-hackers@postgreSQL.org>; Mon, 29 Jan 2001 17:37:34 -0500 (EST)
807+ (envelope-from zakkr@zf.jcu.cz)
808+ Received: from localhost (zakkr@localhost)
809+ by ara.zf.jcu.cz (8.9.3/8.9.3/Debian 8.9.3-21) with SMTP id XAA32063;
810+ Mon, 29 Jan 2001 23:37:08 +0100
811+ Date: Mon, 29 Jan 2001 23:37:08 +0100 (CET)
812+ From: Karel Zak <zakkr@zf.jcu.cz>
813+ To: =?koi8-r?B?7cHL08nNIO0uIPDPzNHLz9c=?= <max@bresttelecom.by>
814+ cc: pgsql-hackers <pgsql-hackers@postgresql.org>
815+ Subject: [HACKERS] NOCREATETABLE patch (was: Re: Please, help!(about Postgres))
816+ In-Reply-To: <005d01c08772$de689030$1e01a8c0@bresttelecom>
817+ Message-ID: <Pine.LNX.3.96.1010129230017.31607B-100000@ara.zf.jcu.cz>
818+ MIME-Version: 1.0
819+ Content-Type: TEXT/PLAIN; charset=ISO-8859-2
820+ Content-Transfer-Encoding: 8bit
821+ X-MIME-Autoconverted: from QUOTED-PRINTABLE to 8bit by mail.postgresql.org id f0TMbYq42246
822+ Precedence: bulk
823+ Sender: pgsql-hackers-owner@postgresql.org
824+ Status: ORr
825+
826+
827+ On Fri, 26 Jan 2001, [koi8-r] ������ �. ������� wrote:
828+
829+ > Good Day, Dear Karel Zak!
830+ >
831+ > Please, forgive me for my bad english and if i do not right with your
832+ > day time.
833+
834+ my English is more poor :-)
835+
836+ You are right, it is (was?) in TODO and it will implemented - I hope -
837+ in some next release (may be in 7.2 during ACL overhaul, Peter?).
838+
839+ Before some time I wrote patch that resolve it for 7.0.2 (anyone -
840+ I forgot his name..) port it to 7.0.2, my original patch was for 7.0.0.
841+ May be will possible use it for last stable 7.0.3 too.
842+
843+ The patch is at:
844+ ftp://ftp2.zf.jcu.cz/users/zakkr/pg/7.0.2-user.patch.gz
845+
846+ This patch add to 7.0.2 code NOCREATETABLE and NOLOCKTABLE feature:
847+
848+ CREATE USER username
849+ [ WITH
850+ [ SYSID uid ]
851+ [ PASSWORD 'password' ] ]
852+ [ CREATEDB | NOCREATEDB ] [ CREATEUSER | NOCREATEUSER ]
853+ -> [ CREATETABLE | NOCREATETABLE ] [ LOCKTABLE | NOLOCKTABLE ]
854+ ...etc.
855+
856+ If CREATETABLE or LOCKTABLE is not specific in CREATE USER command,
857+ as default is set CREATETABLE or LOCKTABLE (true).
858+
859+
860+ But, don't forget - it's temporarily solution, I hope that some next
861+ release resolve it more systematic. More is in the patche@postgresql.org
862+ archive where was send original patch.
863+
864+ Because you are not first person that ask me, I re-post (CC:) it to
865+ hackers@postgresql.org, more admins happy with this :-)
866+
867+ Karel
868+
869+ > I want to ask You about "access control over who can create tables and
870+ > use locks in PostgreSQL". This message was placed in PostgreSQL site
871+ > TODO list. But now it was deleted. I so need help about this question,
872+ > becouse i'll making a site witch will give hosting for our users.
873+ > And i want to make a PostgreSQL access to their own databases. But there
874+ > is (how You now) one problem. Anyone user may to connect to the different
875+ > user database and he may to create himself tables.
876+ > I don't like it.
877+
878+
879+
880+ From mascarm@mascari.com Mon May 7 15:57:48 2001
881+ Return-path: <mascarm@mascari.com>
882+ Received: from corvette.mascari.com (dhcp065-024-161-045.columbus.rr.com [65.24.161.45])
883+ by candle.pha.pa.us (8.10.1/8.10.1) with ESMTP id f47Jvku26379
884+ for <pgman@candle.pha.pa.us>; Mon, 7 May 2001 15:57:47 -0400 (EDT)
885+ Received: from ferrari (ferrari.mascari.com [192.168.2.1])
886+ by corvette.mascari.com (8.9.3/8.9.3) with SMTP id PAA06587;
887+ Mon, 7 May 2001 15:47:59 -0400
888+ Received: by localhost with Microsoft MAPI; Mon, 7 May 2001 15:55:53 -0400
889+ Message-ID: <01C0D70E.3241C920.mascarm@mascari.com>
890+ From: Mike Mascari <mascarm@mascari.com>
891+ Reply-To: "mascarm@mascari.com" <mascarm@mascari.com>
892+ To: "'Bruce Momjian'" <pgman@candle.pha.pa.us>, Karel Zak <zakkr@zf.jcu.cz>
893+ cc: pgsql-hackers <pgsql-hackers@postgresql.org>
894+ Subject: RE: [HACKERS] NOCREATETABLE patch (was: Re: Please, help!(about Postgres))
895+ Date: Mon, 7 May 2001 15:55:52 -0400
896+ Organization: Mascari Development Inc.
897+ X-Mailer: Microsoft Internet E-mail/MAPI - 8.0.0.4211
898+ MIME-Version: 1.0
899+ Content-Type: text/plain; charset="us-ascii"
900+ Content-Transfer-Encoding: 7bit
901+ Status: OR
902+
903+ Peter E. posted his proposal for the revamping of the
904+ authentication/security system a few weeks ago. There was a
905+ discussion, but I don't know if he came to any definitive
906+ conclusions, such as implementing System Privileges as well as Object
907+ Privileges. If he does, then the dba (or anyone who has been granted
908+ GRANT ANY PRIVILEGE system privilege & CREATE USER system privilege)
909+ should be able to do:
910+
911+ CREATE USER mascarm IDENTIFIED BY manager;
912+ GRANT CREATE TABLE to mascarm;
913+
914+ It would also be good if PostgreSQL came with 2 groups by default -
915+ connect and dba.
916+
917+ The connect group would be granted these System Privileges:
918+
919+ CREATE AGGREGATE privilege
920+ CREATE INDEX privilege
921+ CREATE FUNCTION privilege
922+ CREATE OPERATOR privilege
923+ CREATE RULE privilege
924+ CREATE SESSION privilege
925+ CREATE SYNONYM privilege
926+ CREATE TABLE privilege
927+ CREATE TRIGGER privilege
928+ CREATE TYPE privilege
929+ CREATE VIEW privilege
930+
931+ These allow the user to create the above objects in their own schema
932+ only. We're getting schemas in 7.2, right? ;-).
933+
934+ The dba group would be granted the rest, like these:
935+
936+ CREATE ANY AGGREGATE privilege
937+ CREATE ANY INDEX privilege...
938+ (and so on)
939+
940+ as well as:
941+
942+ CREATE/ALTER/DROP USER
943+ GRANT ANY PRIVILEGE
944+ COMMENT ANY TABLE
945+ INSERT ANY TABLE
946+ UPDATE ANY TABLE
947+ DELETE ANY TABLE
948+ SELECT ANY TABLE
949+ ANALYZE ANY TABLE
950+ LOCK ANY TABLE
951+ CREATE PUBLIC SYNONYM (needed when schemas roll around)
952+ DROP PUBLIC SYNONYM
953+ (and so on)
954+
955+ Then, the dba could do a:
956+
957+ GRANT connect TO mascarm;
958+
959+ Or a:
960+
961+ CREATE USER mascarm
962+ IDENTIFIED BY manager
963+ IN GROUP connect;
964+
965+ It seems Karel's patch is a solution to the problem of people who
966+ want to create separate PostgreSQL user accounts, but want to ensure
967+ that a user can't create tables. In Oracle, I would just do a:
968+
969+ CREATE USER mascarm
970+ IDENTIFIED BY manager;
971+
972+ GRANT CREATE SESSION TO mascarm;
973+
974+ Now mascarm has the ability to connect, but that's it.
975+
976+ Currently, if I know for instance that a background process DROPS a
977+ table, CREATES a new one, and then imports some data, I can create my
978+ own table by the same name, in between the DROP and CREATE and can
979+ cause havoc (if its not done in a single transaction). Hopefully
980+ Peter E's ACL design will allow for Oracle-like System Privileges to
981+ take place. That would allow for a much finer granularity of
982+ permissions then everyone either being the Unix equivalent of 'root'
983+ or 'user'.
984+
985+ Just my humble opinion though,
986+
987+ Mike Mascari
988+ mascarm@mascari.com
989+
990+ -----Original Message-----
991+ From:Bruce Momjian [SMTP:pgman@candle.pha.pa.us]
992+
993+ Can someone remind me what we are going to do with this?
994+
995+
996+ [ Charset ISO-8859-2 unsupported, converting... ]
997+ >
998+ > On Fri, 26 Jan 2001, [koi8-r] ______ _. _______ wrote:
999+ >
1000+ > > Good Day, Dear Karel Zak!
1001+ > >
1002+ > > Please, forgive me for my bad english and if i do not right with
1003+ your
1004+ > > day time.
1005+ >
1006+ > my English is more poor :-)
1007+ >
1008+ > You are right, it is (was?) in TODO and it will implemented - I
1009+ hope -
1010+ > in some next release (may be in 7.2 during ACL overhaul, Peter?).
1011+ >
1012+ > Before some time I wrote patch that resolve it for 7.0.2 (anyone -
1013+ > I forgot his name..) port it to 7.0.2, my original patch was for
1014+ 7.0.0.
1015+ > May be will possible use it for last stable 7.0.3 too.
1016+ >
1017+ > The patch is at:
1018+ > ftp://ftp2.zf.jcu.cz/users/zakkr/pg/7.0.2-user.patch.gz
1019+ >
1020+ > This patch add to 7.0.2 code NOCREATETABLE and NOLOCKTABLE feature:
1021+ >
1022+ > CREATE USER username
1023+ > [ WITH
1024+ > [ SYSID uid ]
1025+ > [ PASSWORD 'password' ] ]
1026+ > [ CREATEDB | NOCREATEDB ] [ CREATEUSER | NOCREATEUSER ]
1027+ > -> [ CREATETABLE | NOCREATETABLE ] [ LOCKTABLE | NOLOCKTABLE ]
1028+ > ...etc.
1029+ >
1030+ > If CREATETABLE or LOCKTABLE is not specific in CREATE USER
1031+ command,
1032+ > as default is set CREATETABLE or LOCKTABLE (true).
1033+ >
1034+ >
1035+ > But, don't forget - it's temporarily solution, I hope that some
1036+ next
1037+ > release resolve it more systematic. More is in the
1038+ patche@postgresql.org
1039+ > archive where was send original patch.
1040+ >
1041+ > Because you are not first person that ask me, I re-post (CC:) it
1042+ to
1043+ > hackers@postgresql.org, more admins happy with this :-)
1044+ >
1045+ > Karel
1046+ >
1047+ > > I want to ask You about "access control over who can create
1048+ tables and
1049+ > > use locks in PostgreSQL". This message was placed in PostgreSQL
1050+ site
1051+ > > TODO list. But now it was deleted. I so need help about this
1052+ question,
1053+ > > becouse i'll making a site witch will give hosting for our users.
1054+ > > And i want to make a PostgreSQL access to their own databases.
1055+ But there
1056+ > > is (how You now) one problem. Anyone user may to connect to the
1057+ different
1058+ > > user database and he may to create himself tables.
1059+ > > I don't like it.
1060+ >
1061+ >
1062+ >
1063+
1064+ --
1065+ Bruce Momjian | http://candle.pha.pa.us
1066+ pgman@candle.pha.pa.us | (610) 853-3000
1067+ + If your life is a hard drive, | 830 Blythe Avenue
1068+ + Christ can be your backup. | Drexel Hill, Pennsylvania
1069+ 19026
1070+
1071+
1072+
1073+ From tgl@sss.pgh.pa.us Mon May 7 17:33:41 2001
1074+ Return-path: <tgl@sss.pgh.pa.us>
1075+ Received: from sss.pgh.pa.us (tgl@sss.pgh.pa.us [216.151.103.158])
1076+ by candle.pha.pa.us (8.10.1/8.10.1) with ESMTP id f47LXeu02566
1077+ for <pgman@candle.pha.pa.us>; Mon, 7 May 2001 17:33:40 -0400 (EDT)
1078+ Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1])
1079+ by sss.pgh.pa.us (8.11.3/8.11.3) with ESMTP id f47LXgR23236;
1080+ Mon, 7 May 2001 17:33:42 -0400 (EDT)
1081+ To: Bruce Momjian <pgman@candle.pha.pa.us>
1082+ cc: Karel Zak <zakkr@zf.jcu.cz>,
1083+ =?KOI8-R?Q?=ED=C1=CB=D3=C9=CD_=ED=2E_=F0=CF=CC=D1=CB=CF=D7?= <max@bresttelecom.by>,
1084+ pgsql-hackers <pgsql-hackers@postgresql.org>
1085+ Subject: Re: [HACKERS] NOCREATETABLE patch (was: Re: Please, help!(about Postgres))
1086+ In-Reply-To: <200105071848.f47ImBh20345@candle.pha.pa.us>
1087+ References: <200105071848.f47ImBh20345@candle.pha.pa.us>
1088+ Comments: In-reply-to Bruce Momjian <pgman@candle.pha.pa.us>
1089+ message dated "Mon, 07 May 2001 14:48:11 -0400"
1090+ Date: Mon, 07 May 2001 17:33:42 -0400
1091+ Message-ID: <23233.989271222@sss.pgh.pa.us>
1092+ From: Tom Lane <tgl@sss.pgh.pa.us>
1093+ Status: OR
1094+
1095+ Bruce Momjian <pgman@candle.pha.pa.us> writes:
1096+ > Can someone remind me what we are going to do with this?
1097+
1098+ I'd like to see some effort put into implementing the SQL-standard
1099+ privilege model, rather than adding yet more ad-hoc user properties.
1100+ The more of these we make, the more painful it's going to be to meet
1101+ the spec later.
1102+
1103+ Possibly, after we have the SQL semantics we'll still feel that we
1104+ need some additional features ... but how about spec first and
1105+ extensions afterwards?
1106+
1107+ regards, tom lane
1108+