Pular para o conteúdo principal

Postagem em destaque

BlackTDN :: LeetCode 23: Mesclando K Listas Ordenadas com Harbour/xBase e Reutilização de Código

_Créditos das imagens: ChatGPT **Título:** LeetCode 23: Mesclando K Listas Ordenadas com Harbour/xBase e Reutilização de Código **Introdução** Olá, entusiastas de Harbour/xBase e desafios de programação! Depois de explorarmos como mesclar duas listas ordenadas no [nosso post sobre o LeetCode 21](https://www.blacktdn.com.br/2025/03/blacktdn-leetcode-21-merge-two-sorted.html), vamos dar um passo adiante e enfrentar um problema um pouco mais complexo: o LeetCode 23 - Merge K Sorted Lists. Neste artigo, vamos desvendar uma implementação em Harbour/xBase para este desafio, demonstrando como podemos inteligentemente reutilizar a solução que já construímos para o problema 21. Veremos como a modularidade e a construção sobre soluções anteriores podem simplificar problemas mais complexos. **O Problema: LeetCode 23 - Merge K Sorted Lists** O desafio é o seguinte: dado um array (`aLists` em nossa implementação) contendo `k` listas encadeadas, onde cada lista já está ordenada em ordem cres...

BlackTDN :: Como Forçar a Solicitação da Senha ao Acessar o WSL como Root


---
# Como Forçar a Solicitação da Senha ao Acessar o WSL como Root

O Windows Subsystem for Linux (WSL) é uma ferramenta poderosa que permite executar um ambiente Linux diretamente no Windows. No entanto, por padrão, o WSL não solicita a senha ao acessar o terminal como root. Neste post, vamos mostrar como configurar o WSL para solicitar a senha ao iniciar como root ou qualquer outro usuário.

## Passos para Configurar a Solicitação de Senha

### 1. Crie um Script de Login Personalizado

Primeiro, vamos criar um script que solicitará a senha ao iniciar o terminal como root.

```bash
# No terminal WSL, crie um arquivo chamado login.sh no diretório /root
nano /root/login.sh
```

Adicione o seguinte conteúdo ao script:

```bash
#!/bin/bash

# Função para validar a senha do root usando Perl
validar_senha_root() {
    # Solicita a senha de forma segura e armazena em uma variável
    read -s -p "Digite a senha do root: " senha

    # Executa a validação da senha usando Perl
    perl -e '
        use strict;
        use warnings;
        my @pwent = getpwnam("root");
        if (!@pwent) {die "Invalid username: root\n";}
        if (crypt($ARGV[0], $pwent[1]) eq $pwent[1]) {
            exit(0);
        } else {
            print STDERR "Invalid password for root\n";
            exit(1);
        }
    ' "$senha"
}

# Captura do sinal SIGINT (Ctrl+C)
trap '' INT

# Loop principal para autenticação
while true; do
    if validar_senha_root; then
        echo "Senha correta. Bem-vindo ao terminal."
        exit 0
    else
        echo "Senha incorreta. Tente novamente."
    fi
done

```

### 2. Torne o Script Executável

Para garantir que o script possa ser executado, torne-o executável:

```bash
chmod +x /root/login.sh
```

### 3. Configure o Script para Ser Executado no Login

Agora, precisamos configurar o script para ser executado sempre que o terminal for iniciado como root. Para isso, vamos editar o arquivo `.bashrc` do root:

```bash
nano /root/.bashrc
```

Adicione a seguinte linha ao final do arquivo:

```bash
/root/login.sh
```

### 4. Teste a Configuração

Feche o terminal WSL e abra novamente com o comando:

```bash
wsl --user root
```

O terminal deve solicitar a senha do root ao iniciar.

## Conclusão

Com essa configuração, você garante que o WSL solicitará a senha ao iniciar como root, aumentando a segurança do seu ambiente Linux no Windows. Essa abordagem pode ser adaptada para outros usuários, modificando o script conforme necessário.

Se você tiver alguma dúvida ou sugestão, deixe um comentário abaixo. Feliz hacking! 🚀

---

## Referência:
[How to check password with Linux?](https://unix.stackexchange.com/questions/21705/how-to-check-password-with-linux)

---





Comentários

Postagens mais visitadas