Documentação Firebird → Utilitários do Firebird → GSEC → Modo Em lote |
As seguintes descrições de operações em modo lote, assume-se que tenha-se configurado as variáveis de ambiente ISC_USER e ISC_PASSWORD. Elas permitem rodar o GSEC sem ter que especificar as opções -user e -password. O reduzindo, por sua vez, a quantidade de código na linha de comando - significando que quando este arquivo XML for renderizado num PDF, toda a linha de comando caiba numa única linha de uma página A4.
Não é seguro manter essas variáveis configuradas todo o tempo, então não deixe-as assim!
Em modo lote, quando você achar que pode verificar o resultado de uma operação consultando %ERRORLEVEL% em Windows ou $? em vários sabores de Unix. Isto não funciona, pois o resultado sempre retorna zero.
Em modo lote, a linha de comando para rodar o GSEC é a seguinte:
gsec [ <options> ... ] <command> [ <parameter> ... ]
Para mostrar todos os usuários no BD de segurança, o comando e sua respectiva saída seguem:
C:\>gsec -display user name uid gid full name ------------------------------------------------------------------------ SYSDBA 0 0 NORMAN 0 0 Norman Dunbar EPOCMAN 0 0 Benoit Gilles Mascia
Para mostrar detalhes de um único usuário, passe nome do usuário como parâmetro do comando display:
C:\>gsec -display epocman user name uid gid full name ------------------------------------------------------------------------ EPOCMAN 0 0 Benoit Gilles Mascia
do Tradutor: Nas próximas duas seções, ambos os comandos abordados não retornam confirmação de que a operação foi efetuada com sucesso. Você deve usar a o comando -display ou -display <name> para verificar.
Abaixo o comando e sua respectiva saída:
C:\>gsec -add newuser -pw newuser -fname New -lname User
C:\>gsec -display user name uid gid full name ------------------------------------------------------------------------ SYSDBA 0 0 NORMAN 0 0 Norman Dunbar NEWUSER 0 0 New User EPOCMAN 0 0 Benoit Gilles Mascia
Abaixo o comando e sua respectiva saída:
C:\>gsec -delete newuser
C:\>gsec -display user name uid gid full name ------------------------------------------------------------------------ SYSDBA 0 0 NORMAN 0 0 Norman Dunbar EPOCMAN 0 0 Benoit Gilles Mascia
Usuários existentes podem ter uma ou mais de suas informações alteradas.
C:\>gsec -modify norman -pw newpassword
C:\>gsec -modify norman -mname MiddleName -fname Fred
C:\>gsec -display user name uid gid full name ------------------------------------------------------------------------ SYSDBA 0 0 NORMAN 0 0 Fred MiddleName Dunbar EPOCMAN 0 0 Benoit Gilles Mascia
Se você deseja remover um ou mais informações do usuário, não passe um novo valor para esse atributo.
C:\>gsec -modify norman -mname -fname -lname
C:\>gsec -display user name uid gid full name ------------------------------------------------------------------------ SYSDBA 0 0 NORMAN 0 0 EPOCMAN 0 0 Benoit Gilles Mascia
Agora ninguém sabe quem eu sou... ;o)
A versão do GSEC pode ser obtida usando o comando -z . Porém, note que após a execução desse comando, o modo interativo será ativado. Ele não sai assim como os outros comandos em lote, de modo que você tem que utilizar o comando interativo quit para sair. Este uma solução de contorno, a qual segue. A primeira parte mostra o problema.
C:\>gsec -z gsec version WI-V1.5.0.4306 Firebird 1.5 GSEC>
A solução é ter um pequeno arquivo contendo o comando quit e forçar GSEC a ler este arquivo quando necessitar de entrada de dados do usuário, como segue:
C:\>copy con fred quit ^Z 1 file(s) copied.
C:\>gsec -z <fred gsec version WI-V1.5.0.4306 Firebird 1.5 GSEC> C:\>
Isto pode ser uma boa idéia para qualquer dos comandos que deixam você "preso" no modo interativo quando deveria estar rodando em lote. Redirecionando a entrada de arquivo de comando, GSEC lerá a linha de texto desse arquivo a qualquer momento que necessitar entrada de usuário. Forçando-o a ler o comando quit , você consegue sair.
O comando -z não necessita de um -user e -password, ele mostrará os detalhes da versão e então dirá a você que não tem um nome/senha - mas você pode ignorar tranqüilamente a mensagem.
Documentação Firebird → Utilitários do Firebird → GSEC → Modo Em lote |