Re: problemas con supersusuario

From: Rensi Arteaga Copari <rarteaga(at)ende(dot)bo>
To: Edilberto Arteaga Lopez <edi5_es(at)hotmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: problemas con supersusuario
Date: 2010-03-15 14:10:58
Message-ID: 4B9E3FF2.6070105@ende.bo
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Gracias por responder,.
Ya revise la funciones y no existe nígún mecanismo adicional para
validación de usuario,..............................
alguna otra idea??

El 15/03/10 9:52, Edilberto Arteaga Lopez escribió:
>
> Mira yo en PostgreSQL no soy muy bueno, pero revisa en las funciones
> si los programadores no dejaron algún código amarrado a sus usuarios,
> y por esa razón este dando este tipo de error.
>
> ______________________________________
>
> Edilberto Arteaga Lopez
> Analista Programador
> Fruit of the Loom - Honduras
> Tecnologias .Net(C#, VB.Net, ASP.NET, SilverLigth)
>
> Base de Datos (SQL Server, mySQL, PostgreSQL, FireBird)
> Sistemas Operativos Linux/NetBSD/Windows(XP/7/2003 Server)
>
> */Labor omnia vincit/**/./*
>
> Nota informativa: La información contenida en este mensaje, así como el
> código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
> garantías de ninguna clase, y no otorga derecho alguno. Usted asume
> cualquier riesgo al poner en práctica, utilizar o ejecutar lo
> recomendado o
> sugerido en el presente mensaje.
>
> Note: Les informations contenues dans ce message, et le
> Source y inclus, est fourni "TEL QUEL", sans
> garantie d'aucune sorte, et ne confère aucun droit. Vous assumez
> aucun risque pour la mettre en œuvre, utiliser ou exécuter le
> recommandés ou
> suggéré dans ce message.
>
> *Nemo auditur qui propriam turpitúdinem alegans.*
>
> *From:* pgsql-es-ayuda-owner(at)postgresql(dot)org
> [mailto:pgsql-es-ayuda-owner(at)postgresql(dot)org] *On Behalf Of *Rensi
> Arteaga Copari
> *Sent:* Monday, March 15, 2010 6:23 AM
> *To:* pgsql-es-ayuda(at)postgresql(dot)org
> *Subject:* Fwd: [pgsql-es-ayuda] problemas con supersusuario
>
>
> Les mando de nuevo mi problema,......................
> dado que todavía no encuentro la causa,
> creen que pueda ser un error de la versión 8.1 de postgres ???
> No es extraño que a un superusuario le salga permiso denegado?????
>
>
>
>
> Hola amigos,
>
> Tengo una base de datos que ha sido desarrollado por varios
> programadores , todos registrados como supersusurios
> y ahora que tengo la base datos en explotación, por seguridad estos
> desarrolladores ya no deben ser supersusurios,
> y les quites este privilegios
>
> ALTER ROLE "vsoliz" NOSUPERUSER;
> ... etc
>
>
> Pero después de quitar algunos supersusuarios,
> cuando otros usuarios y yo (que soy superusuario todavia) accedemos
> a la base de datos
> me sale un error
>
> #42501 - permiso denegado para la relación vad_partida_detalle
>
>
> Pense que esto podría ser debido a que los usuarios desarrolladores
> son dueños de varias funciones, vistas y tablas
> y cree una función para asignar como dueño de todo los objetos al
> usuario "postgres" (esto en en base a una que encontré por la lista)
> pero el problemas persiste y ya no se por donde más buscar el problemas
> (a demas que me parece muy raro que a un superusuario le salga
> permiso denegado)
>
>
> PARA ASIGNAR COMO DUEÑO AL p_user DE TODAS LAS VISTA Y TABLAS
> EN EL p_esquema
> --------------------------------------------------------------
>
> DECLARE
> objeto record;
> x varchar;
> BEGIN
> FOR objeto IN
> ( SELECT viewname as d FROM pg_views WHERE
> schemaname=p_esquema
> UNION
> SELECT tablename as d FROM pg_tables WHERE
> schemaname=p_esquema
> UNION
> SELECT relname as d FROM pg_statio_all_sequences
> WHERE schemaname=p_esquema)
> LOOP
>
> -- RAISE NOTICE 'Asignando % como dueño % en el
> esquema %', p_user,‘ objeto.d, p_esquema;
> x='ALTER TABLE "'||p_esquema||'"."'|| objeto.d ||'"
> OWNER TO '||p_user;
> RAISE NOTICE '%',x;
> EXECUTE (x);
>
> END LOOP;
> END;
>
> ------------------------------------------------
>
>
>
>
> PARA ASIGNAR COMO DUEÑO AL p_user DE TODASFUNCIONES en el p_esquema
>
> -----------------------------------
>
> DECLARE
> objeto record;
> tipos_objeto record;
>
> x varchar;
> tipos varchar;
> tam integer;
> contador integer;
> cuenta_funciones integer;
> tipo_dato varchar;
> BEGIN
>
>
> -- Consulta los datos de la función
>
>
> cuenta_funciones:=0;
>
> FOR objeto IN
> (
>
> SELECT p.proname AS name,
> p.oid,
> p.proargtypes AS args,
> p.prorettype AS rettype,
> n.nspname,
> proargnames,
> p.proargmodes,
> p.proallargtypes,
> p.pronargs
> FROM pg_proc p
> INNER JOIN pg_namespace n ON p.pronamespace = n.oid
> WHERE n.nspname = p_esquema
> )
> LOOP
> -- Arma los atributos de la función
>
> tipos:='(';
> contador=1;
>
> tam=objeto.pronargs;
>
> WHILE contador < tam or contador = tam LOOP
>
>
> SELECT
> typname
> into
> tipo_dato
> FROM pg_type t
> WHERE t.oid=objeto.args[contador -1];
>
> IF (contador <>tam)THEN
> tipos =
> tipos||objeto.proargnames[contador]||' '||tipo_dato ||', ';
> ELSE
> tipos =
> tipos||objeto.proargnames[contador]||' '||tipo_dato;
> END IF;
>
> contador = contador +1;
> END LOOP;
> tipos = tipos||')';
>
>
> x=' ALTER FUNCTION "'||p_esquema||'"."'||objeto.name||'"'||tipos||'
> OWNER TO '||p_user;
>
>
> RAISE NOTICE 'OBJETO % CONTADOR % , %',objeto.name,contador,x;
>
> -- Executa la funcion de asignacion de privilegios
>
> EXECUTE (x);
>
> cuenta_funciones:=cuenta_funciones+1;
> END LOOP;
>
> RAISE NOTICE '% FUNCIONES ASIGNADAS',cuenta_funciones;
> END;
>
>
>
>
> ---------------------------------------------------------------
>
>
>
>
>
>
>
>
>
> ---------------------------------------------------------------------------------
> Este mensaje ha sido analizado automáticamente por el *MailScanner* de
> *ENDE*
> y no han sido detectados virus ni otros contenidos peligrosos.
>
>
> ---------------------------------------------------------------------------------
> Este mensaje ha sido analizado automáticamente por el *MailScanner* de
> *ENDE*
> y no han sido detectados virus ni otros contenidos peligrosos.
>

--
EMPRESA NACIONAL DE ELECTRICIDAD
www.ende.bo
Tel.: (591-4) 4520253 - 4520228
Fax: (591-4) 4520318
---------------------------------------------------------------------------------
Este mensaje ha sido analizado automaticamente por el MailScanner de ENDE
y no han sido detectados virus ni otros contenidos peligrosos.

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Gilberto Castillo Martínez 2010-03-15 14:40:50 Re: problemas con supersusuario
Previous Message Gabriel Hermes Colina Zambra 2010-03-15 14:09:37 Re: Postgres con Visual Fox