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] :: Identificando as marcações ímpares na tabela SP8

1) A consulta das marcações impares;
2) A "deleção lógica" dos registros impares;

Segue:

1) Para consultar as marcações impares:

------------------------------------------------------------------------------------------------
SELECT SP8.P8_FILIAL
      ,SP8.P8_MAT
      ,SP8.P8_PAPONTA
      ,SP8.P8_ORDEM
  FROM SP8010 SP8
WHERE SP8.D_E_L_E_T_=' '
GROUP BY SP8.P8_FILIAL
        ,SP8.P8_MAT
        ,SP8.P8_PAPONTA
        ,SP8.P8_ORDEM
HAVING ((COUNT(*)%2)=1)
ORDER BY 1,2,3,4
------------------------------------------------------------------------------------------------
2) Para a "Deleção Lógica" das marcações impares:

UPDATE SP8_U
    SET SP8_U.D_E_L_E_T_='*'
FROM
  SP8010 SP8_U
  INNER JOIN
  (
      SELECT SP8.P8_FILIAL
            ,SP8.P8_MAT
            ,SP8.P8_PAPONTA
            ,SP8.P8_ORDEM
      FROM SP8010 SP8
    WHERE SP8.D_E_L_E_T_=' '
    GROUP BY SP8.P8_FILIAL
            ,SP8.P8_MAT
            ,SP8.P8_PAPONTA
            ,SP8.P8_ORDEM
    HAVING ((COUNT(*)%2)=1)
   ) SP8_R
   ON  SP8_U.P8_FILIAL=SP8_R.P8_FILIAL
  AND SP8_U.P8_MAT=SP8_R.P8_MAT
  AND SP8_U.P8_PAPONTA=SP8_R.P8_PAPONTA
  AND SP8_U.P8_ORDEM=SP8_R.P8_ORDEM
WHERE SP8_U.D_E_L_E_T_=' ' 

OU
------------------------------------------------------------------------------------------------
MERGE INTO
  SP8010 SP8_U
USING
  (
      SELECT SP8.P8_FILIAL
            ,SP8.P8_MAT
            ,SP8.P8_PAPONTA
            ,SP8.P8_ORDEM
      FROM SP8010 SP8
    WHERE SP8.D_E_L_E_T_=' '
    GROUP BY SP8.P8_FILIAL
            ,SP8.P8_MAT
            ,SP8.P8_PAPONTA
            ,SP8.P8_ORDEM
    HAVING ((COUNT(*)%2)=1)
  ) SP8_R
ON  SP8_U.P8_FILIAL=SP8_R.P8_FILIAL
AND SP8_U.P8_MAT=SP8_R.P8_MAT
AND SP8_U.P8_PAPONTA=SP8_R.P8_PAPONTA
AND SP8_U.P8_ORDEM=SP8_R.P8_ORDEM
WHEN MATCHED THEN
  UPDATE SET
    SP8_U.D_E_L_E_T_='*';

------------------------------------------------------------------------------------------------
Obs.:

1) Antes de efetuar qualquer operação que modifique os dados diretamente no SGBD efetue uma cópia da tabela;

2) Nem sempre os registros devem ser deletados. A melhor opção é identificar os funcionários com marcações impares e incluir a marcação faltante.

Comentários

Postagens mais visitadas