I'm running a PostgreSQL database server, version 10 on Linux, for multiple users. Today I found out by surprise that any user can see all other users' databases and their tables, columns and other properties, but not the data. I'm wondering why this is the case? Shouldn't a user be restricted to their own databases? Why is this access granted at all and how can I remove it?
The users were created with this command: createuser "user1"
The databases were created with this command: createdb -O "user1" "user1_db1"
I've read something about the CONNECT privilege in the Postgres documentation but I couldn't find out how to list all the privleges that a user currently has. An article suggests revoking all privileges and granting CONNECT only on the user's database. I don't want to do that before I know what other privileges the user possibly has. Also, is this required for each new database created for the user? The documentation doesn't seem to cover this topic at all.
customerwith a columncredit_card_number, does it get you any closer to getting the data in the table? – Laurenz Albe Oct 01 '19 at 21:28wordpress_poststhen I know there's a WordPress installation. And there's more suspicious software than that. One customer simply is not allowed to see anything about what another customer does. They should not even know which other customers exist. You can't get a directory file listing of all the other webhosting customers on your server, either, can you? – ygoe Dec 02 '19 at 19:28