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 :: Programação Básica em Advpl “Combo XXIX”

STATIC e PUBLIC:

Estas duas instruções também declaram variáveis. PUBLIC declara variáveis que ficam visíveis durante todo o programa. Os problemas que examinamos com relação as variáveis Private também ocorrem com as variáveis Public, contudo com mais abrangência. Em vez de isolados a rotinas chamadas a partir de uma função, os problemas ocorrem na aplicação inteira.

As variáveis STATIC podem ajudar a solucionar este problema. Existem dois tipos de variáveis static: internas e externas. A diferença está na abrangência. As variáveis static em nível de arquivo abrangem o arquivo: elas ficam visíveis em qualquer função ou rotina dentro do arquivo de programa no qual estão declaradas. As variáveis static declaradas dentro de uma função ( static internas ) tem escopo local, exatamente como as variáveis local.

Obs.: No Protheus, as variáveis Static criadas à partir do menu, serão liberadas sempre que se voltar para o menu. Já as Static criadas durante a entrada do sistema serão mantidas enquanto o sistema estiver sendo usado.

A característica principal da variável Static é que ela pode sair do escopo e não conseguirmos mais acessá-la, mas, na próxima vez que em que entrarmos no programa ou função que a declarou ela terá o mesmo valor da última vez em que o programa ou função foi executado. Exemplo:

TEST1.PRG

Static nVar := 0 //Static em nível de arquivo ( externa )

User Function A()

Alert( Str( nVar ) ) //nVar será zero aqui...
nVar := 10

Return( NIL )

User Function B()

Alert( Str( nVar ) ) //nVar será 10 aqui...

Return( NIL )

User Function C()

Static nVar //Static em nível de função ( interna )

DEFAULT nVar := 0

Return( ++nVar )

TEST2.PRG

User Function Test() //nVar não está disponível em Test2()

Local nLoop
Local nLoops
Local nRetC

U_A() //aqui acessando a variável Static Externa
U_B() //aqui acessando a variável Static Externa

nLoops := 15
For nLoop := 1 To nLoops
nRetC := U_C() //aqui acessando a variável Static Interna
Alert( Str( nRetC ) )//nVar em U_C será incrementada a cada
//iteração do Loop
Next nLoop

Return( NIL )

Comentários

Postagens mais visitadas