RES: RES: [firebase-br] Olá amigos "Preciso de ajuda" mudar a senha do sysdba via programaçao
Rafael Cabral
rafael.cabral em intercraft.inf.br
Ter Ago 16 11:14:52 -03 2005
Bom Carlos, acho que não. Até pq as senhas armazenadas no security.fdb estão
criptografadas.
O que vc poderia fazer também, é criar um trigger na tabela users do
security.fdb. Então por meio de uma UDF, vc poderia criar uma maneira de vc
receber a senha que o usuário digitou, mas acho que o firebird não permite
criação de triggeres no security.fdb, até pq se trata de segurança, mas pelo
q eu vi na net, dá pra fazer isso no interbase.
[]s,
Rafael Cabral
-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Carlos Alberto dos santos
Enviada em: terça-feira, 16 de agosto de 2005 10:56
Para: lista em firebase.com.br
Assunto: RE: RES: [firebase-br] Olá amigos "Preciso de ajuda" mudar a senha
do sysdba via programaçao
Fala Rafael blz. Obrigado cara, vc me ajudou muito. Rafael ve se vc pode me
dar uma dica vamos supor que alguma pessoal mudou a senha padrão do sysdba
que é a "masterkey" colocou uma outra senha, só que eu não sei a senha que
ele colocou, tem como descobrir essa senha via delphi? Obrigado mais uma
vez.
>From: "Rafael Cabral" <rafael.cabral em intercraft.inf.br>
>Reply-To: rafael.cabral em icraft.com.br, FireBase <lista em firebase.com.br>
>To: "'FireBase'" <lista em firebase.com.br>
>Subject: RES: [firebase-br] Olá amigos "Preciso de ajuda" mudar a senha
>do sysdba via programaçao
>Date: Tue, 16 Aug 2005 09:53:10 -0300
>
>Fala Carlos Blz?
>
>Vou te passar um código aqui.
>
>//*********************************************************************
>*****
>****
>// FbModifyUser
>// Altera usuários no Firebird
>//
>// Server: PChar -> Nome ou IP do servidor Firebird.
>// UserName: PChar -> Login do usuário a ser alterado.
>// Password: PChar -> Senha do usuário a ser alterado.
>// FirstName: PChar -> Primeiro nome do usuário. Pode ser vazio.
>// LastName: PChar -> Último nome do usuário. Pode ser vazio.
>// Buffer: PChar -> Buffer de retorno do status da alteração do usuário.
>//*********************************************************************
>*****
>****
>function FbModifyUser(Server: PChar; UserName: PChar; Password: PChar;
>FirstName: PChar; LastName: PChar; Buffer: PChar): Integer; stdcall;
>var
> Status: Array[0..19] of ISC_STATUS;
> Sec: TUserSecData;
> SysDbaUser: PChar;
> SysDbaPwd: PChar;
> DllHandle: THandle;
> Func: function (status: PISC_STATUS; user_sec_data: PUserSecData):
>ISC_STATUS; stdcall;
>begin
>
> //Atribuição de ponteiros
> SysDbaUser := StrAlloc(32);
> SysDbaPwd := StrAlloc(9);
>
> //Seta usuario e senha atual do sysdba. É recomendado criar uma
>telinha de autenticação
> StrCopy(SysDbaUser, 'SYSDBA');
> StrCopy(SysDbaPwd, 'masterkey');
>
> //Limpa buffer de parâmetros de usuário
> ZeroMemory(@Sec, SizeOf(TUserSecData));
>
> //Atribuição de parâmetros de usuário
> sec.server := Server;
> sec.dba_user_name := SysdbaUser;
> sec.dba_password := SysdbaPwd;
> sec.protocol := sec_protocol_tcpip;
> sec.user_name := UserName;
> sec.password := Password;
> sec.first_name := FirstName;
> Sec.last_name := LastName;
> sec.sec_flags := sec_server_spec or sec_password_spec or
>sec_dba_user_name_spec or sec_dba_password_spec or sec_first_name_spec
>or sec_last_name_spec;
>
> //Executa a modificação do usuário
> DllHandle := LoadLibrary('gds32.dll');
> if DllHandle <> 0 then
> begin
> @Func := GetProcAddress(DllHandle, 'isc_modify_user');
> Result := Func(status, sec);
> FreeLibrary(DllHandle);
> end
> else
> Result := 1;
>
> //Verifica se o usuário foi alterado com sucesso
> if (Status[0] = 1) and (Status[1] > 0) then
> begin
> MessageBox(GetDesktopWindow, 'Erro', 'Teste',
>MB_ICONERROR or MB_APPLMODAL);
> Result := 1;
> end
> end;
>end;
>
>Na chamada dessa função, no seu caso, o sec.user_name será o SYSDBA e o
>sec.password a nova senha do sysdba. O sysdbauser e sysdbapass são o
>login/senha atuais do sysdba que são requeridos para alteração do usuário.
>Vc pode não precisar disso se tiver usando o Firebird 2 ou então se
>utilizar aquelas alterações do security.fdb para permitir que qualquer
>usuário altere a sua própria senha, então nesse caso vc pode utilizar o
>login e a senha do usuário atual para mudar a senha.
>
>Estou utilizando a DLL gds32.dll por alocação dinâmica. Existem
>técnicas mais fáceis de fazer isso, porém preferi a alocação dinâmica
>para não deixar a dll carregada na memória ociosa.
>
>Espero ter ajudado.
>
>[]s,
>
>Rafael Cabral
>
>-----Mensagem original-----
>De: lista-bounces em firebase.com.br
>[mailto:lista-bounces em firebase.com.br] Em nome de Carlos Alberto dos
>santos Enviada em: terça-feira, 16 de agosto de 2005 08:34
>Para: lista em firebase.com.br
>Assunto: [firebase-br] Olá amigos "Preciso de ajuda" mudar a senha do
>sysdba via programaçao
>
>Olá amigos "Preciso de ajuda"
>Alguém sabe se tem com saber a senha definida para o sysdba, sendo que
>a senha foi alterada não é mais a "masterkey" é outra não sei qual ? e
>como alterar a senha do sysdba via delphi? Utilizo interbase 6.0
Obrigado....
>
>_________________________________________________________________
>MSN Messenger: converse online com seus amigos .
>http://messenger.msn.com.br
>
>
>______________________________________________
>FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br Para
>editar sua configuração na lista, use o endereço
>http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
>
>______________________________________________
>FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br Para
>editar sua configuração na lista, use o endereço
>http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>Para consultar mensagens antigas: http://firebase.com.br/pesquisa
_________________________________________________________________
Chegou o que faltava: MSN Acesso Grátis. Instale Já!
http://www.msn.com.br/discador
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br Para editar
sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
Mais detalhes sobre a lista de discussão lista