From: | Ben Kim <bkim(at)tamu(dot)edu> |
---|---|
To: | Peter Elmers <p(dot)elmers(at)gmx(dot)de> |
Cc: | pgsql-admin(at)postgresql(dot)org |
Subject: | Re: adding a user with the permission to create trimmed users |
Date: | 2007-08-17 17:28:14 |
Message-ID: | Pine.GSO.4.64.0708171216250.24598@coe.tamu.edu |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-admin |
> I want to know whether there exist the possibility to create a user who has
> the permission to create users with preset limited permissions.
>
> In detail:
> I do not want that the admin user (a separate limited one for the customer)
> is able to create full admin users or adequate ones.
It's likely possible. There might be a better reference but you might want
to read this: (Look for Tom Lane's post)
http://archives.devshed.com/forums/databases-124/anyone-know-a-good-
opensource-crm-that-actually-installs-with-2217243-2.html
Following his example:
create or replace function makeuser(text, text) returns void as $$
begin execute 'create role ' || quote_ident($1) || ' login password '
|| quote_literal($2) ; end$$ language plpgsql security definer;
then you can
create role a_group;
grant select,insert,update on a_table to a_group with grant option;
alter group a_group add user a_user;
so a_user can now
select makeuser('b_user','b_password');
grant select on a_table to b_user;
There might be a better way though.
If you're on 8.1 and upwards, createrole is not separate from superuser.
But it seemed if a user is given createrole, even though he's not given
the superuser, s/he can drop other users (who s/he didn't create.) So
alter user...createuser may not fit here. Please correct me if I'm wrong.
HTH
Ben K.
Developer
http://benix.tamu.edu
From | Date | Subject | |
---|---|---|---|
Next Message | Ben Kim | 2007-08-17 17:39:22 | Re: adding a user with the permission to create trimmed users |
Previous Message | Kevin Grittner | 2007-08-17 17:05:07 | Re: adding a user with the permission to create trimmed users |