FirebirdSQL
O FirebirdSQL é um banco de dados relacional open source, leve e poderoso, derivado do InterBase da Borland. Ele roda em Windows, Linux, macOS e ARM, e é amplamente usado em sistemas comerciais, ERP e aplicações embarcadas.
Pontos positivos do FirebirdSQL
- Desempenho elevado — Trabalha bem com bancos grandes e muitos usuários simultâneos, mesmo em hardware modesto.
- Zero administração — Dispensa serviços complexos; pode funcionar como embedded, sem instalação de servidor.
- Segurança robusta — Autenticação e permissões integrada e suporte a criptografia.
- Transações completas — Suporte total a ACID, com isolamento configurável (Read Committed, Snapshot, Serializable).
- Portabilidade — Um único arquivo .fdb contém todo o banco, facilitando backup e migração.
- Ferramentas familiares — Linguagem SQL padrão, PSQL para stored procedures e triggers.
- Configuração simples — Fácil de instalar e manter; ideal para sistemas que exigem confiabilidade sem requerer administração constante.
Instalação
O FirebirdSQL não é empacotado para Debian/Ubuntu da forma como já foi no passado. Atualmente, o
FirebirdSQL inclui seu próprio instalador oficial. Antes de prosseguir, instale a biblioteca
libtommath, que é uma dependência:
sudo apt install -y libtommath-dev
Agora vá até a página oficial do FirebirdSQL e baixe a última versão para Linux:
https://firebirdsql.org/downloads
Digamos que você tenha baixado o arquivo em ~/Downloads. Vamos descompactá-lo:
cd ~/Downloads
tar zxvf Firebird-5.0.3.1683-0-linux-x64.tar.gz
A descompressão irá criar uma subpasta. Entre nela:
cd Firebird-5.0.3.1683-0-linux-x64/
E execute o instalador:
sudo ./install.sh
Durante a instalação, será perguntado qual será a senha do SYSDBA. Informe a que desejar
(inclusive masterkey se for usar em desenvolvimento).
Banco de dados Firebird - Grupo firebird
O serviço do FirebirdSQL é mantido por um usuário com permissões restritas chamado firebird.
Isso aumenta a segurança em sistemas POSIX, mas impede que outros usuários acessem bancos localmente,
pois somente o usuário/grupo firebird possui permissão nos arquivos.
Para contornar isso, adicione seu usuário ao grupo firebird:
sudo usermod -aG firebird "$USER"
newgrp firebird
Para conferir a adesão ao grupo:
getent group firebird
Banco de dados Firebird - SQL Client
O “SQL Client” é a biblioteca que permite conectividade com o banco. Sem ela, aplicações externas podem falhar ao tentar conectar-se ao Firebird.
Confira se a biblioteca está presente no sistema através do cache do carregador dinâmico:
ldconfig -p | grep -i fbclient
Caso precise localizar o arquivo manualmente:
sudo find /opt/firebird -name 'libfbclient.so*' -maxdepth 3
Se a biblioteca não estiver no PATH padrão do sistema, você pode criar um link simbólico para compatibilidade:
[ -f /opt/firebird/lib/libfbclient.so ] && sudo ln -s /opt/firebird/lib/libfbclient.so /lib64/libfbclient.so
Alterando a senha do SYSDBA
O SYSDBA possui plenos poderes sobre o SGBD. Após a instalação, você pode alterar a senha
utilizando o utilitário isql conectando-se diretamente ao banco de segurança:
sudo /opt/firebird/bin/isql /opt/firebird/security5.fdb
Uma vez conectado via acesso local (sem necessidade de senha inicial):
alter user SYSDBA password 'sua_nova_senha';
commit;
quit;
Gerenciamento de Diretórios de Dados
Opção A: Localização Padrão em /var/fdb
Ao copiar arquivos .fdb para o servidor, evite o seu $HOME. Utilize um
local global:
sudo mkdir -p /var/fdb
sudo chown firebird:firebird /var/fdb
sudo chmod 775 /var/fdb
Após copiar novos bancos, garanta a propriedade de forma recursiva:
sudo chown -R firebird:firebird /var/fdb/
sudo chmod -R 664 /var/fdb/
Opção B: Estratégia Avançada com Bind Mount (/home/fdb)
Para quem utiliza a /home em partição separada, manter os bancos em
/home/fdb garante que os dados sobrevivam a reinstalações do SO. Usaremos um Bind
Mount para que o sistema enxergue esses arquivos em /var/fdb, mantendo a
compatibilidade e contornando restrições de segurança.
1. Preparação do ponto de montagem:
sudo mv /var/fdb /var/fdb.bak # Backup se já existir
sudo mkdir -p /var/fdb
sudo chmod 1777 /var/fdb # Pasta limpa para montagem
2. Configuração da origem e Recursividade (ACLs):
Usaremos ACLs para garantir que novos arquivos herdem automaticamente o dono e as permissões:
sudo mkdir -p /home/fdb
sudo chown firebird:firebird /home/fdb
# Aplica permissões e define herança (Default)
sudo setfacl -R -m u:firebird:rwx,g:firebird:rwx,o:rx /home/fdb
sudo setfacl -R -d -m u:firebird:rwx,g:firebird:rwx,o:rx /home/fdb
3. Automatização via /etc/fstab:
Edite o arquivo: sudo editor /etc/fstab e adicione a linha:
/home/fdb /var/fdb none bind 0 0
Aplique as configurações:
sudo systemctl daemon-reload
sudo mount /var/fdb
Dica de Segurança (AppArmor):
No Debian 13 e Ubuntu 24.04, o AppArmor protege o serviço do Firebird. Ele bloqueia o acesso através de links simbólicos (symlinks) para fora dos caminhos autorizados. O Bind Mount resolve isso de forma nativa no Kernel, sendo a solução recomendada.
Variáveis de Ambiente
Configure credenciais padrão para facilitar o uso dos utilitários de linha de comando.
Configuração por Usuário (~/.bash_profile)
export FIREBIRD_MSG=/opt/firebird
export ISC_USER=SYSDBA
export ISC_PASSWORD=masterkey
Configuração Global (Systemd/Debian)
Crie o arquivo: sudo editor /etc/environment.d/999-firebird.conf
FIREBIRD_MSG=/opt/firebird
ISC_USER=SYSDBA
ISC_PASSWORD=masterkey
Ajustando o PATH do Sistema
Para acessar os comandos isql, gbak e gfix globalmente:
sudo editor /etc/profile.d/999-firebird-path.sh
Conteúdo:
if [ -d /opt/firebird/bin ]; then
PATH="$PATH:/opt/firebird/bin"
export PATH
fi