Re: Post Install / Secure PostgreSQL
От | Craig Ringer |
---|---|
Тема | Re: Post Install / Secure PostgreSQL |
Дата | |
Msg-id | 4C900C7D.7030103@postnewspapers.com.au обсуждение исходный текст |
Ответ на | Re: Post Install / Secure PostgreSQL (Carlos Mennens <carlos.mennens@gmail.com>) |
Ответы |
Re: Post Install / Secure PostgreSQL
|
Список | pgsql-general |
On 15/09/2010 12:50 AM, Carlos Mennens wrote: > On Mon, Sep 13, 2010 at 9:58 PM, Craig Ringer > <craig@postnewspapers.com.au> wrote: >> craig$ sudo -u postgres psql >> postgres=> CREATE USER craig WITH PASSWORD 'somepassword' >> CREATEDB CREATEROLE; >> postgres=> CREATE DATABASE craig WITH OWNER craig; >> postgres=> \q > > So I set a Linux shell password on my newly auto created 'postgres' > system user You can do that, though you don't need to. I usually just sudo to it. > which is what I use to login to the database as > 'superuser'. Now I know my password for 'postgres' in the Linux shell > but I still don't understand what the database password is for > 'postgres'. You need to read the manual. It explains how authentication and login roles work. In particular, it explains pg_hba.conf and the "ident", "trust" and "md5" authentication modes. http://www.postgresql.org/docs/current/interactive/client-authentication.html > So maybe I am still lost but it appears that the database user > 'postgres' has a password unique to PostgreSQL, right? Correct. However, it doesn't need to have any password at all; if you're using ident authentication, postgresql will accept a connection as "postgres" only from the local unix user "postgres". No need for a password, you've already convinced the OS you have the access rights. If you're using "md5" (password) authentication, then you need to set a password for the postgres database user. See the manual. > postgres=# SELECT * from pg_user; > usename | usesysid | usecreatedb | usesuper | usecatupd | passwd | > valuntil | useconfig > ----------+----------+-------------+----------+-----------+----------+----------+----------- > postgres | 10 | t | t | t | ******** | > | > carlos | 16384 | t | t | t | ******** | > | You'd usually use the psql command: \du for a better view. See: \? in psql > Obviously there appears to be a specific password for both accounts > which I think are completely seperate from the Linux shell passwords, > right? Correct. > Secondly I am unable to find any information in the docs that show me > how to set just the user password for 'carlos'. In MySQL I would use: ALTER USER username SET PASSWORD 'somepassword'; See the manual, and the psql \h command \h -- statement listing \h ALTER USER -- syntax of alter user http://www.postgresql.org/docs/current/interactive/sql-alteruser.html -- Craig Ringer Tech-related writing at http://soapyfrogs.blogspot.com/
В списке pgsql-general по дате отправления: