Logo

FirebirdSQL no Linux

Instalação via instalador oficial (Debian/Ubuntu).

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

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

Download do Firebird (página oficial)

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
Senha do SYSDBA

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

← Voltar para o Guia Firebird