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.

Protheus :: Disponibilizando os módulos específicos no SIGAMDI

O Microsiga Protheus possibilita ao usuário criar até 3 Módulos Específicos. O SIGAESP, SIGAESP1 e SIGAESP2. Mas, esses módulos só estarão disponíveis para uso através do SIGAMDI se as funções que retornarem o seu nome estiverem compiladas no repositório.

As funções são, respectivamente:

U_ESPNOME();
U_ESP1NOME() ; e
U_ESP2NOME().

Que em sua declaração formal ficariam como:


User Function EspNome()
Return( "SIGAESP" ) //Neste caso Retornei o Nome do Módulo.

ou

User Function EspNome()
Return( OemToAnsi( "Descrição do Módulo SIGAESP" ) ) //Neste caso Retornei uma Descrição para o Módulo.

Para Retornar a Descrição para o Módulo Específico SIGAESP

**********************************************************

User Function Esp1Nome()
Return( "SIGAESP1" ) //Neste caso Retornei o Nome do Módulo.

ou

User Function Esp1Nome()
Return( OemToAnsi( "Descrição do Módulo SIGAESP1" ) ) //Neste caso Retornei uma Descrição para o Módulo.

Para Retornar a Descrição para o Módulo Específico SIGAESP1

**********************************************************

User Function Esp2Nome()
Return( "SIGAESP2" ) //Neste caso Retornei o Nome do Módulo.

ou

User Function Esp2Nome()
Return( OemToAnsi( "Descrição do Módulo SIGAESP2" ) ) //Neste caso Retornei uma Descrição para o Módulo.

Para Retornar a Descrição para o Módulo Específico SIGAESP2
       

Lembrando que, os pontos de Entrada Genéricos para os Módulos, também estão disponíveis para os módulos Específicos, bastando para isso, criar uma "User Function" com o mesmo nome da Função Principal do Módulo, como:


User Function SIGAESP()
 //...Faz Alguma Coisa...
Return( NIL ) 

User Function SIGAESP1()
 //...Faz Alguma Coisa...
Return( NIL )

User Function SIGAESP2()
 //...Faz Alguma Coisa...
Return( NIL )
       

Os Pontos de Entrada Genéricos de um módulo serão sempre executados após a abertura do sistema e sempre que se retornar ao menu principal.


E.T.: Lembrando que os módulos Específicos só estarão disponíveis aos usuários que receberem acesso através da configuração de senha.

[]s
иαldσ dj

...

Comentários

  1. Boa tarde Naldo,
    Só uma dúvida sobre esta postagem, estou necessitando utilizar os pontos de entrada dos módulos conforme postado, porém não funciona no modo Flat e MDI, qual a alternativa neste caso?

    ResponderExcluir

Postar um comentário

Postagens mais visitadas