Restrict access

Started by Michael Knudsenover 18 years ago5 messagesgeneral
Jump to latest
#1Michael Knudsen
micknudsen@gmail.com

Hi,

I have created a database and imported a lot of data. I would like to
share this database with other people but they should not be able to
change anything. That is, they should only be allowed to use the
SELECT command.

If I create a user, this user can access the database and see the
names of all tables. I can now GRANT this user permission to use
SELECT on all tables. Apparently, this seems to solve the problem.
However, I have noticed that if people access the database using my
username (i.e. by typing "psql foo -u" and the providing my username)
they get full access. I have tried to disable this by "ALTER USER
username WITH PASSWORD 'password'" but that doesn't help. You still
don't need to supply any password.

I have used Google for several hours with coming even near a solution
so any help is appreaciated!

--
Michael Knudsen

#2Adam Witney
awitney@sgul.ac.uk
In reply to: Michael Knudsen (#1)
Re: Restrict access

On 2/8/07 13:35, in article
1186058130.245261.72800@l70g2000hse.googlegroups.com, "Michael Knudsen"
<micknudsen@gmail.com> wrote:

Hi,

I have created a database and imported a lot of data. I would like to
share this database with other people but they should not be able to
change anything. That is, they should only be allowed to use the
SELECT command.

If I create a user, this user can access the database and see the
names of all tables. I can now GRANT this user permission to use
SELECT on all tables. Apparently, this seems to solve the problem.
However, I have noticed that if people access the database using my
username (i.e. by typing "psql foo -u" and the providing my username)
they get full access. I have tried to disable this by "ALTER USER
username WITH PASSWORD 'password'" but that doesn't help. You still
don't need to supply any password.

I have used Google for several hours with coming even near a solution
so any help is appreaciated!

Take a look at the pg_hba.conf in the PGDATA directory, you probably have
the connection set to 'trust'... Which won't require a password from that
connection location/type. You will need to run a "pg_ctl reload" to make any
changes take effect

HTH

Adam

#3Michael Knudsen
micknudsen@gmail.com
In reply to: Adam Witney (#2)
Re: Restrict access

On Aug 2, 3:51 pm, Adam Witney <awit...@sgul.ac.uk> wrote:

Take a look at the pg_hba.conf in the PGDATA directory, you probably have
the connection set to 'trust'... Which won't require a password from that
connection location/type. You will need to run a "pg_ctl reload" to make any
changes take effect

I can't find a file with that name. I am not using postgreSQL on my
own computer, so the file may be hidden somewhere in a directory which
I haven't got access to. Is there another way to get rid of 'trust'?

--
Michael Knudsen

#4Michael Knudsen
micknudsen@gmail.com
In reply to: Michael Knudsen (#3)
Re: Restrict access

On Aug 2, 4:08 pm, Michael Knudsen <micknud...@gmail.com> wrote:

I can't find a file with that name. I am not using postgreSQL on my
own computer, so the file may be hidden somewhere in a directory which
I haven't got access to. Is there another way to get rid of 'trust'?

Finally, I have managed to find the file, and everything works
perfectly. Thanks!

--
Michael Knudsen

#5Peter Eisentraut
peter_e@gmx.net
In reply to: Michael Knudsen (#3)
Re: Restrict access

Michael Knudsen wrote:

I can't find a file with that name. I am not using postgreSQL on my
own computer, so the file may be hidden somewhere in a directory
which I haven't got access to. Is there another way to get rid of
'trust'?

No.

--
Peter Eisentraut
http://developer.postgresql.org/~petere/