Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Problemas permissões de usuários com o Firebird

1,228 views
Skip to first unread message

yuRi

unread,
Mar 31, 2009, 3:10:11 PM3/31/09
to
Primeiramente desculpe por estar postando algo que não esta relacionado ao tema principal da lista, sei que estou postando em lista errada, mas se alguém me ajudar serei eternamente grato.

Estou com um problema com o Firebird e gostaria de saber se o banco é usado dessa forma.

Vamos a um exemplo do problema: Tenho um usuário 'A' e um usuário 'B'. O usuário 'A' cria um database e depois uma tabela dentro desse database, se eu me autentico com o usuário 'B', eu consigo acessar o database criado por A e visualizar as tabelas criadas por ele (não consigo ver os dados inseridos nas tabelas).
É possivel barrar que o usuário B acesse esse database de A? Estou acostumado a trabalhar com mysql e sql, e esses banco de dados não permitem que outros usuários acessem a áreas restritas.
Se é possivel barrar esses acessos, aonde faço essas configurações?

Observação: Estou utilizando Debian e a versão do Firebird é 2.1.1

Obrigado, e desculpe por estar postando em uma lista que não é especialista em Firebird

--
~yuRi

yuRi

unread,
Mar 31, 2009, 3:10:16 PM3/31/09
to
Só para exemplificar melhor,

Exemplo:
grant all on minhatabela to martina with grant option

Eu sempre encontro regras relacionadas as tabelas, dessa forma eu consigo que ninguém acesse a tabela ou acesse, etc. Meu problema é que cada usuário possua o seu database e ninguém mais o acesse.

Acho que fui mais claro dessa vez.

2009/3/31 yuRi <ssj...@gmail.com>



--
~yuRi

Fabiano Pires

unread,
Mar 31, 2009, 4:20:08 PM3/31/09
to
2009/3/31 yuRi <ssj...@gmail.com>

Genericamente o comando GRANT funciona assim:

grant all on banco.tabelas to user with grant option

então tente assim:

grant all on BancoDaMartina.* to martina with grant option

BancoDaMartina.* quer dizer todas as tabelas do banco BancoDaMartina.


--
Fabiano Pires
LPIC-2
http://pragasdigitais.blogspot.com/
Livrando você da escória da Internet!

hamacker

unread,
Mar 31, 2009, 10:00:13 PM3/31/09
to
Conforme indicado pelos colegas, o comando SQL GRANT é o que garante
que usuario A, B ou C tenham acesso as tabelas ou qualquer outro
objeto(tabelas,views,procedures,...), a única exceção fica por conta
do SYSDBA que é uma conta administrativa que sempre terá acesso a
qualquer database que se conecte.

Alem das permissões por usuário, há as permissões por ROLE onde é a
ROLE e não o usuário que detém as permissões, o usuário é associado a
uma ROLE (ele tem de ter direito a ela) no momento da conexão e recebe
os direitos que a ROLE possui sobre os objetos, este é um recurso útil
para gerenciar usuários e permissões em sistemas mais complexos.

[]'s e boa sorte.

2009/3/31 yuRi <ssj...@gmail.com>:


--
To UNSUBSCRIBE, email to debian-user-por...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org

yuRi

unread,
Apr 1, 2009, 11:50:14 AM4/1/09
to
Tentei realizar o comando passado:

grant all on DATABASE.TABELA to USER with grant option

mas ele nao aceita essa linha de comando.
Estou pesquisando as possibilidades e estudando um pouco sobre ROLE para ver se consigo alguma coisa.

Obrigado por enquanto

2009/3/31 hamacker <sirha...@gmail.com>



--
~yuRi

hamacker

unread,
Apr 2, 2009, 3:50:12 PM4/2/09
to
Na ferramenta isql dele os comandos são digitados de forma diferente,
é a mesma sintaxe, mas as coisas mudam, por exemplo, voce conecta a
base primeiro e assim voce nao precisa de database.tabela, afinal voce
já está na base. Eu sugiro que voce use programas como o flamerobin
para fazer estes tipos de operacoes com o banco. Há um programa
chamado "Grantrole" no sourceforge só para gerenciar permissoes, sejam
elas baseadas em usuarios ou em roles.

[]'s e sucesso.

2009/4/1 yuRi <ssj...@gmail.com>:

Rodolfo

unread,
Apr 2, 2009, 5:10:10 PM4/2/09
to
já viu as configuraões de pastas?

Rodolfo

unread,
Apr 2, 2009, 5:10:14 PM4/2/09
to
tenta atualizar seu firefox

yuRi

unread,
Apr 2, 2009, 10:10:10 PM4/2/09
to
Obrigado pessoal, vou tentar sim. Estou utilizando o flamerobin, com ele eu consigo arrumar cada usuário do firebird como se fosse um usuário do linux, pois eu consigo definir seu uid e gid. Tentei fazer por permissões no próprio Linux, porém todas as alterações realizadas em arquivo, são realizadas pelo usuário firebird, ou seja, TODOS os usuários do firebird, para o linux, são pertencentes ao grupo firebird.

O problema é que as permissões sempre são setadas a partir de tabelas. Até agora não consegui setar por base de dados, mas ainda não perdi a fé, estou estudando esse "novo" banco para que eu realmente aprenda a gerencia-lo. Sinto que estou no caminho certo.

Vou tentar fazer o teste Grantrole, se eu tiver sucesso postaria aqui p/ vocês.

Obrigado pela ajuda e por me dar um rumo a seguir.

PS: não entendi o firefox

2009/4/2 Rodolfo <rof2...@gmail.com>
tenta atualizar seu firefox



--
~yuRi

hamacker

unread,
Apr 2, 2009, 11:10:09 PM4/2/09
to
Os usuários do firebird não são cadastrados no Linux, são cadastrados
dentro do firebird e nada tem a ver com os usuarios cadastrados no SO.
O Firebird mantém um database especial chamado de fbsecurity.fdb que
dentre algumas tabelas especiais contém os usuários cadastrados e suas
senhas, todo usuário que se conecta ao banco de dados passa por esse
database para autenticar-se. Tanto que se voce esquecer a conta do
SYSDBA e por causa disso não consegue conectar database a nenhum,
basta substituir esse database por outro onde a senha do SYSDBA seja
conhecida e pronto tá resolvido o problema, furo de segurança ? Não,
este banco de dados baseia sua segurança no Host, ie. o ambiente
fisico e SO são responsáveis por prover a segurança dos dados, por
exemplo, no Linux o owner dos arquivos do firebird chama-se firebird,
isto facilita porque o banco de dados não precisa usar uma conta de
root para fazer suas operações com o SO, usuários comuns não conseguem
manipular fisicamente os arquivos e impede que falhas do FB sejam
escaladas para níveis de privilegio superiores.

É um bom banco de dados, mas programadores em delphi tem dificuldade
em lidar com transacoes, usam dataawares que ligam componentes de
dados a uma unica transacao, ficam o dia inteiro sem fazer um único
commit físico e por causa disso enchem a garbage e o banco explode o
servidor. Se voce aprender a dominar as tecnicas da boa programação
vai ser feliz.

[]'s e boa sorte.

2009/4/2 yuRi <ssj...@gmail.com>:

0 new messages