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 ~ Class TFTPClient : Combo IV (O Destrinchar Parte 2)

pergaminhos… Continuação: BlackTDN :: ADVPL ~ Class TFTPClient : Combo III (O Destrinchar Parte 1).

Diretiva #xTranslateUma mera formalidade, uma vez que poderia ter criado uma User Function. Ou uma Function U_<f>.

User Function f() é traduzida, pelo pré-processador, para  u_f(). Lembrando que uma função retorna valor e uma procedure não (demonstrado como compatibilidade histórica) na realidade, no Protheus não existe a distinção entre Função e Procedure (1).

 

Observemos o conteúdo do arquivo de cabeçalho “protheus.ch”

Detalhe #xtranslate : Protheus.ch Algumas diretivas de tradução para o pré-processador encontradas no arquivo de cabeçalho “protheus.ch”. Dentre elas:

#xtranslate USER Function <cNome> => Function U_<cNome>

Para corroborar a afirmativa em (1) observe o seguinte fragmento de código:

Protheus : IDE : Erro de Compilação

O espaço de nomes é o mesmo: Seja uma Function ou uma Procedure. Se tentarmos compilar o código ocorrerá a seguinte exceção:

Compilando arquivos...
   c:\temp\xprocname.prw...
   (no projeto FTPSample)
Erro de compilação:  XPROCNAME.PRW(5)   C2021 Redefinition of function U_XPROCNAME


Processo interrompido por erro FATAL de compilação.

Compilação finalizada - 1 arquivo(s) - 1 mensagem(s)

Tempo de duração da compilação: 3 segundos




Ao ajustarmos o código. Deixando cada uma com o seu devido nome e executarmos:

Protheus : IDE : Procedure e Function

Teremos os seguintes resultados:

User Function fProcName() User Procedure pProcName()
u_fProcName() u_pProcName()
U_FPROCNAME U_PPROCNAME




   1: #include "protheus.ch"
   2: #xtranslate USER PROCEDURE <p> => PROCEDURE U_<p>
   3: User Function fProcName()
   4: Return(ProcName())
   5: User Procedure pProcName()
   6: Return(ProcName())









… continua

[]s
иαldσ dj

Comentários

Postagens mais visitadas