Documentação do PostgreSQL 7.4.1 | ||||
---|---|---|---|---|
Anterior | Início | Capítulo 17. Usuários do banco de dados e privilégios | Fim | Próxima |
As funções e os gatilhos permitem que usuários insiram código no servidor que outros usuários podem executar sem conhecer. Portanto, estes dois mecanismos permitem a criação de "Cavalos de Tróia" [1] com relativa impunidade. A única proteção real é um controle rígido sobre quem pode definir funções.
As funções executam dentro do processo servidor, com as permissões do sistema operacional do processo servidor de banco de dados. É possível mudar as estruturas de dados internas do servidor a partir de funções confiáveis (trusted). Portanto, entre outras coisas, tais funções podem burlar todo controle de acesso do sistema. Este é um problema inerente às funções definidas pelo usuário escritas na linguagem C.
[1] |
Cavalo de Tróia — Um programa destrutivo disfarçado como uma aplicação benigna. Ao contrário dos vírus, os cavalos de tróia não se replicam, mas podem ser tão destrutivos quanto estes. What is Trojan Horse . (N. do T.) |