From Fedora Project Wiki

Line 53: Line 53:
 
== Troubleshooting ==
 
== Troubleshooting ==
 
If you run into issues, or need to modify the user or database, you can always use the psql command to do this. Asusming you're using IDENT authentication (default on Fedora and RHEL), you'll have to become the 'postgres' user before you can modify users or databases with psql. (see Become the postgres user above)
 
If you run into issues, or need to modify the user or database, you can always use the psql command to do this. Asusming you're using IDENT authentication (default on Fedora and RHEL), you'll have to become the 'postgres' user before you can modify users or databases with psql. (see Become the postgres user above)
To list databases
+
 
 +
=== To list databases ===
 
  postgres@magnolia:$ pqsl -l
 
  postgres@magnolia:$ pqsl -l
  
== To assign ownership of a database ==
+
=== To assign ownership of a database ===
 
To change the owner of a database, pass the following command to psql: "ALTER DATABASE name OWNER TO new_owner"
 
To change the owner of a database, pass the following command to psql: "ALTER DATABASE name OWNER TO new_owner"
 
For example:  
 
For example:  
 
  postgres@magnolia:$ psql -c "ALTER DATABASE msf_database OWNER TO msf_user;"  
 
  postgres@magnolia:$ psql -c "ALTER DATABASE msf_database OWNER TO msf_user;"  
  
== To add or change the password for a user ==
+
=== To add or change the password for a user ===
 
To change the password for a postgres user, pass the following command to psql: "ALTER USER username WITH ENCRYPTED PASSWORD 'passwd';"
 
To change the password for a postgres user, pass the following command to psql: "ALTER USER username WITH ENCRYPTED PASSWORD 'passwd';"
 
For example:  
 
For example:  
 
  postgres@magnolia:$ psql -c "ALTER USER msf_user WITH ENCRYPTED PASSWORD 'omgwtfbbq';"  
 
  postgres@magnolia:$ psql -c "ALTER USER msf_user WITH ENCRYPTED PASSWORD 'omgwtfbbq';"  
  
== To drop a user ==
+
=== To drop a user ===
 
Postgres provides a handy 'dropuser' command.
 
Postgres provides a handy 'dropuser' command.
 
  postgres@magnolia:$ dropuser msf_user
 
  postgres@magnolia:$ dropuser msf_user
  
== To drop a database ==
+
=== To drop a database ===
 
Postgres provides a handy 'dropdb' command.
 
Postgres provides a handy 'dropdb' command.
 
  postgres@magnolia:$ dropdb msf_database
 
  postgres@magnolia:$ dropdb msf_database
  
== Other useful postgres tips ==
+
=== Other useful postgres tips ===
 
psql is a handy tool if you need to modify anything inside the postgres system. If you prefer a graphical tool, pgadmin3 is quite good. For more information, see the (extensive) documentation here: http://www.postgresql.org/docs/manuals/
 
psql is a handy tool if you need to modify anything inside the postgres system. If you prefer a graphical tool, pgadmin3 is quite good. For more information, see the (extensive) documentation here: http://www.postgresql.org/docs/manuals/
  
== psql commands ==
+
=== psql commands ===
 
* select version(); - show the db version
 
* select version(); - show the db version
 
* \h - get help
 
* \h - get help

Revision as of 11:17, 15 September 2010

This page adapts the instructions on Metasploit Wiki:Postgres setup to Fedora.

Starting postgres

user@magnolia:$ sudo -s
root@magnolia:$ /etc/init.d/postgresql initdb
root@magnolia:$ /etc/init.d/postgresql start

Becoming the postgres user

root@magnolia:# su postgres

Creating a database user

postgres@magnolia:$ createuser msf_user -P
Enter password for new role: 
Enter it again: 
Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create databases? (y/n) n
Shall the new role be allowed to create more new roles? (y/n) n

Allowing password authentication to access postgres on localhost

Edit "/var/lib/pgsql/data/pg_hba.conf", change:

host    all         all         127.0.0.1/32          ident

to

host    all         all         127.0.0.1/32          md5

See also: Postgresql Wiki: Client Authentication

Creating a database

postgres@magnolia:$ createdb --owner=msf_user msf_database

Configure Metasploit

Start the framework, then enter the following commands:

msf> db_driver postgresql
msf> db_connect msf_user:[password]@127.0.0.1:5432/msf_database
msf> db_hosts

Enable the database on startup

$ cat > ~/.msf3/msfconsole.rc
db_driver postgresql
db_connect msf_user:[password]@127.0.0.1:5432/msf_database
db_workspace -a MyProject
^D

Troubleshooting

If you run into issues, or need to modify the user or database, you can always use the psql command to do this. Asusming you're using IDENT authentication (default on Fedora and RHEL), you'll have to become the 'postgres' user before you can modify users or databases with psql. (see Become the postgres user above)

To list databases

postgres@magnolia:$ pqsl -l

To assign ownership of a database

To change the owner of a database, pass the following command to psql: "ALTER DATABASE name OWNER TO new_owner" For example:

postgres@magnolia:$ psql -c "ALTER DATABASE msf_database OWNER TO msf_user;" 

To add or change the password for a user

To change the password for a postgres user, pass the following command to psql: "ALTER USER username WITH ENCRYPTED PASSWORD 'passwd';" For example:

postgres@magnolia:$ psql -c "ALTER USER msf_user WITH ENCRYPTED PASSWORD 'omgwtfbbq';" 

To drop a user

Postgres provides a handy 'dropuser' command.

postgres@magnolia:$ dropuser msf_user

To drop a database

Postgres provides a handy 'dropdb' command.

postgres@magnolia:$ dropdb msf_database

Other useful postgres tips

psql is a handy tool if you need to modify anything inside the postgres system. If you prefer a graphical tool, pgadmin3 is quite good. For more information, see the (extensive) documentation here: http://www.postgresql.org/docs/manuals/

psql commands

  • select version(); - show the db version
  • \h - get help
  • \q - quit

See Also