Firebird Documentation IndexUtilitários do FirebirdGSEC → Truques do GSEC
Firebird Home Firebird Home Anterior: Executando GSEC RemotamenteFirebird Documentation IndexAcima: GSECPróxima: GSPLIT

Truques do GSEC

Usuários Normais versus Usuários Privilegiados
Differenças entre Modo Lote e Interativo
Códigos de Saída em Modo Lote
Erros em Modo Lote Muda para o Modo Interativo

A seguir uma linha resumida de truques e idiossincrasias que detectei no meu uso do GSEC. Alguns desses já foram mencionados acima, outros podem não ter sido. Coletando todos em um só lugar, você poderá ser capaz de descobrir o que está acontecendo se tiver problemas.

Usuários Normais versus Usuários Privilegiados

Apenas um usuário sysdba pode alterar o BD de segurança. Usuários normais podem rodar o GSEC, mas apenas listar os conteúdos. A seguir mostramos o que acontece quando tentar alterar o banco quando rodando GSEC como um usuário normal.

C:\>gsec -user norman -password norman
GSEC> add myuser -pw mypassword
add record error
no permission for insert/write access to TABLE USERS

Usuários normais podem apenas mostrar os detlhes do BD de segurança.

C:\>gsec -user norman -password norman -display
     user name                      uid   gid     full name
------------------------------------------------------------------------
SYSDBA                              0     0
NORMAN                              0     0      Norman  Dunbar
EPOCMAN                             0     0      Benoit Gilles Mascia

Differenças entre Modo Lote e Interativo

Os comandos do GSEC aplicam-se a ambos os modos de operação, porém, quando rodando em modo lote, você deve prefixar o comandos com um traço (-) ou será apresentada uma mensagem de erros similar a seguinte:

C:\>gsec -user sysdba -password masterkey display
invalid parameter, no switch defined
error in switch specifications
GSEC>

Note também que você será deixado em modo interativo quando um erro ocorrer. A linha de comando correta deve ter um traço na frente do comando display, como segue:

C:\>gsec -user sysdba -password masterkey -display
     user name                      uid   gid     full name
------------------------------------------------------------------------
SYSDBA                              0     0
NORMAN                              0     0      Norman  Dunbar
EPOCMAN                             0     0      Benoit Gilles Mascia

Desta vez, GSEC cumpriu seu papel, mostrandos todos usuários conhecidos e terminou o utilitário.

Atenção

Se as variáveis de ambiente ISC_USER e ISC_PASSWORD foram definidas, e isso não é uma boa idéia por razões de segurança, GSEC pode rodar sem passar as opções -user ou -password.

Atenção

Assim como todos os utilitário de linha de comando, é melhor usar a versão do GSEC que vier junto com o seu servidor no pacote de instalação.

Códigos de Saída em Modo Lote

Quando executando GSEC sob Windows, você pode capturar o código de saída em %ERRORLEVEL% e verificar se houve sucesse ou fracasso do último comando executado.

Quando o sistema operacional for Unix - qualquer quer seja o sabor - o código de saída pode ser achado na variável $?.

Desafortunadamente, GSEC aparente sempre retornar zero e isso torna impossível criar um script que saiba lidar com erros tanto em Windows como em Unix. Triste, porém verdadeiro.

Erros em Modo Lote Muda para o Modo Interativo

Algumas vezes, quando executando em modo lote, uma condição de erro no GSEC resulta no mesmo passando ao modo interativo. Isto não é muito se você iniciou o GSEC em modo lote de um script, por cause que o script vai ficar esperando algo ser digitado.

Anterior: Executando GSEC RemotamenteFirebird Documentation IndexAcima: GSECPróxima: GSPLIT
Firebird Documentation IndexUtilitários do FirebirdGSEC → Truques do GSEC