Pular para o conteúdo principal

Postagem em destaque

BlackTDN :: Autenticação 2FA para Usuário Root no WSL

--- # naldodj-wsl-2FA ## Autenticação 2FA para Usuário Root no WSL ### Introdução O Windows Subsystem for Linux (WSL) é uma ferramenta poderosa que permite aos desenvolvedores executar um ambiente Linux diretamente no Windows. No entanto, a segurança é uma preocupação importante, especialmente quando se trata de acessar o usuário root. Neste post, vamos mostrar como configurar a autenticação de dois fatores (2FA) para o usuário root ao acessar o WSL, garantindo uma camada adicional de segurança. ### Objetivo Vamos configurar um script de login que valida a senha do root e usa autenticação 2FA baseada em Time-based One-Time Password (TOTP), usando ferramentas comuns como `openssl`, `oathtool`, e `perl`. ### Passo 1: Instalar as Ferramentas Necessárias Primeiro, precisamos garantir que temos todas as ferramentas necessárias instaladas. Isso inclui `openssl`, `oathtool`, e `perl`. ```bash sudo apt-get update sudo apt-get install openssl oathtool perl ``` Para os scripts em Lua.

BlackTDN :: ADVPL ~ TRY/CATCH/END Quando Utilizar?

 

Try-Catch

Tempos atrás “simulei” a instrução Try/Cacth/End usando “Comandos Definidos pelo Usuário”. Não pude usar TRY/CATCH pois, a partir de uma “Build” desconhecida, passou a integrar a lista de palavras reservadas da linguagem ADVPL.

Sabendo que existe, em ADVPL, a instrução TRY/CATCH/END quando utilizá-la?

 

U_TRYCATCH               18 Macro FC: cannot find function :TryTest
   1: User Function TryCatch
   2:  
   3:     Local x
   4:     Local y              := "TryTest"
   5:  
   6:     Local bError         := { |e| oError := e , Break(e) }
   7:     Local bErrorBlock    := ErrorBlock( bError )
   8:     
   9:     Local oError
  10:  
  11:     BEGIN SEQUENCE
  12:         TRY
  13:             x := &y.(,)    
  14:         CATCH e as IdxException
  15:             ConOut( ProcName() + " " + Str(ProcLine()) + " " + e:cErrorText )
  16:         END TRY
  17:     RECOVER
  18:         ConOut( ProcName() + " " + Str(ProcLine()) + " " + oError:Description )
  19:     END SEQUENCE 
  20:     ErrorBlock( bErrorBlock )    
  21:  
  22: Return( NIL )
Eis a questão!


[]s
иαldσ dj

Comentários

Postar um comentário

Postagens mais visitadas