21 de mayo de 2010

Postgresql Tips =O!

JAJAJA che título no se me pudo ocurrir otro mejor.

*BAJO TU PROPIO RIESGO HACER ESTO, el lo hizo y con la desesperación se despojaba de su ropa. CUIDADO

Bueno este tip, es mas que nada para darle seguridad al querido Postgresql! (claro todo funcionando a "full" una buena instalación a eso me refiero, manual o por "trampas" ). Por supuesto si no has movido nada a los archivos de configuración de Postgres, me refiero precisamente al pg_hba.conf, el cual es el archivo donde indicaremos si queremos un password al momento de acceder a las base de datos o dejarlas a "capela". Si los has cambiado de de MD5 a trust. (te preguntaras de que diablos es eso.!) bueno la neta me da weba explicarlo pero por eso esta Altavista para que aclares tus dudas.
Aprenderemos de "rapido" asignar un password a nuestros usuarios de postgres, si es que no las tiene y ya.

*NOTA. Esto se probo bajo Fedora 11, con postgresql 8.3, con win2 es mas papa con su "pgadmin III", así que solo gnu/Linux porfavor. Nivel de conocimiento en gnu/linux "medio según"

1. Como buen amante gnu/linux la amada terminal. Hacemos login como root para ingresar de allí al usuario postgres (por que si te intentas logear así desde tu usuario "charly" no podrás por que usuario postgres ni tiene password o sabe igual y eres bien chidongongo que ya se la pusiste, sáltate entonces hasta el paso 5.)

ASÍ NO:
charly@pecame:$ su - postgres
contraseña: pp2000 ???


ASÍ SI:
charly@pecame:$ su
contraseña: pp ???

root@pecame:# su - postgres

contraseña: soy root tu papá y no requiero contraseña
postgres@PECAME: $ psql


2. Al hacer el psql ingresamos a la base de datos de postgres.
Una vez allí lo que haremos sera un infame consulta

select * from pg_shadow

para que? bueno si no recuerdas los usuarios que has creado esta buena consulta te refrescara las neuronas.

3. Ya que sabes el usuario, ahora es momento de asignarle una verdadera contraseña, lo hacemos con el siguiente comando

alter user nombre_usuario_que_habias_olvidado
with password 'verdadera contraseña';
*Son apóstrofos ' ' los que encierran el password cuidado.

Damos enter y nos indicara un ALTER ROLE, no te asustes quiere decir que el cambio se hizo con éxito.

4. Si todo salio bien al volver hacer un

select * from pg_shadow;

Podrás ver tu contraseña encriptada =O!!

Toca momento de editar el archivo pg_hba.conf, una vez que lo hallas localizado (En fedora 11 con "trampas" esta en la ruta /var/lib/psql/data/pg_hba.conf)

Allí buscaras la línea donde este 'trust' a 'md5', si esta en md5 ve al punto 5.

5. Eres chingon.

Guardamos y reiniciamos el servicio postgresql
Siendo root:
service postgresql restart

Y con esto tu postgresql esta "protegido"... al menos que no cambien de md5 a trust tu archivo pg_hba.conf...

Saludos! C. Zer

3 comentarios:

Xsset dijo...

Primero cual es la diferencia???? entre los dos metodos.

Segunda pregunta, para que quieres ponerle contraseña a postgres, para que se te olvide despues? jajajajjaja

omitiendo mis dos preguntas todo lo demas esta muy bien.


metodos:

ASÍ NO:

charly@pecame:$ su - postgres
contraseña: pp2000 ???



ASÍ SI:

charly@pecame:$ su
contraseña: pp ???
root@pecame:# su - postgres
contraseña: soy root tu papá y no requiero contraseña

Charly Zer dijo...

1. jaja no son métodos, no lo entendiste.

2. jajaja eso si, pero como diría el buen profe que nos da esta materia a nivel estudiante esta bien sin contraseña, ya "afuera" ay que ser mas cuidadosos.

Xsset dijo...

Si no es metodo?, que es?

1- yo lo veo como metodo Incorrecto y metodo correcto.

2.- Tienez razon, pero si no me equivoco no hay forma de accesar a ese usuario en postgres sin tener acceso o los privilegios del root.