2014-01-14 5 views
1

Firebird DB에서 데이터가 필요한 앱을 개발 중입니다. 이 DB를 만드는 사람은 SYSDBA 암호를 잊어 버렸고 새 사용자를 만들거나보기 만하면됩니다. DB와 통신하는 다른 앱도 사용자를 알 수 없습니다. 하지만 DB 서버에 연결하여 DB 파일 시스템을 볼 수 있습니다. 나는 MySQL이 백도어를 가지고 있다는 것을 알고있다, Firebird는 역시 가지고 있어야한다, 그렇지?Firebird/Interbase - SYSDBA없이 새 사용자 /보기 만들기

답변

3

Firebird에는 백도어가 없습니다. 그러나 데이터베이스를 다른 Firebird 설치로 이동하거나 SYSDBA이라는 암호를 알고있는 다른 Firebird 설치에서 security2.fdb을 사용할 수 있습니다.

다른 옵션으로는 RDB$ADMIN 역할의 구성원으로 로그인하여 암호를 다시 설정하는 것이 있지만이 방법은 보안 데이터베이스와 일반 데이터베이스 모두에서 SYSDBA이 먼저 부여 된 것으로 가정합니다. 또는 Windows 관리자 그룹의 구성원으로 신뢰할 수있는 인증을 사용합니다. 그러나 Firebird 2.5에서는 보안 데이터베이스 (기본값이 아님)에 대해 AUTO ADMIN MAPPING이 활성화되어 있어야합니다.

자세한 내용은 SQL user management commands을 참조하십시오.

그런데 '정상적인'사용자는 데이터베이스의 소유자와 RDB$ADMIN을 만들고 데이터베이스의 구조를 추가하거나 수정하는 데이 사용자를 사용하는 것이 좋습니다 (이 경우 SYSDBA 계정이 필요할 가능성이 큽니다)).