jul 052020
 

A mágica do GNU/Linux muitas vezes acontece sem que você tenha sequer uma interface gráfica para uso amigável, porém, o shell (ou o terminal) também tem suas malícias para agilizar o seu trabalho.

Você pode trabalhar com várias aplicações ao mesmo tempo sem ter que terminar o que estava fazendo para iniciar uma nova tarefa, isso graças aos comandos “jobs”, “fg” e “bg”. “Jobs” significa “Trabalhos” e serve para exibir tudo o que você está fazendo no shell do GNU/Linux mas que está em segundo plano. Claro, você precisa mandar as tarefas para segundo plano para poder utilizar o comando “jobs”.

“fg” (foreground) serve para trazer as tarefas que estão em segundo plano para o primeiro plano, assim você pode continuar fazendo o que estava fazendo anteriormente.

Já a última opção, “bg” (background) serve para continuar executando tarefas em segundo plano, para que o shell fique livre e você possa executar outras tarefas sem interromper a tarefa anterior.

Vamos ver alguns exemplos práticos para que você entenda melhor.

Continue reading »

jun 182020
 

INTRODUÇÃO

O objetivo de um mecanismo de replicação de dados é permitir a manutenção de várias cópias idênticas de um ­­­­mesmo dado em vários servidores de bancos de dados (SGBD). Os principais benefícios da replicação de dados são a redundância, o que torna o sistema tolerante a falhas, a possibilidade de um balanceamento de carga do sistema, já que o acesso pode ser distribuído entre as réplicas, e finalmente, ter-ser o backup online dos dados, já que todas as replicas estariam sincronizadas. Este artigo, apresenta uma introdução ao mecanismo de replicação do MySQL, bem como as configurações básicas para realização desta tarefa.

VISÃO GERAL DA REPLICAÇÃO

O MySQL permite um tipo de replicação conhecido como Master-Slave, onde temos um servidor atuando como master e um ou mais servidores atuando como slave. O master grava em um log binário de alteração todos os comandos de atualizações da base de dados. Desta forma, todas as alterações ocorridas no master são imediatamente replicadas para os outros servidores slave.

A replicação no mysql é principalmente compatível com a anterior, isto é, um servidor mais novo pode normalmente ser um escravo de um servidor mais velho sem nenhum problema. Porém, versões mais antigas dos servidores são, freqüentemente, incapazes de servir como slaves de versões mais novas, pois eles não podem entender novas características ou a sintaxe SQL que o servidor mais novo utiliza, e pode haver diferenças no formato dos arquivos que a replicação usa, por exemplo, você não pode replicar de um master MySQL 5.0 para um slave MySQL 4.0.

Continue reading »

jun 152020
 

O Sed é um editor de textos não interativo. Vem do inglês Stream Editor, ou seja, editor de fluxos (de texto).

O Sed é um editor de textos não interativo. Vem do inglês [S]tream [ED]itor, ou seja, editor de fluxos de texto. O Sed da GNU, atualmente é o utilizado pela maioria das distribuições de Linux e é o que tem mais funcionalidades novas: GNU/Linux.

É case sentive

  • -i altera o arquivo
  • -e imprime na tela sem alterar o arquivo
  • -n faz a supressão, mostra só o resutado do comando
  • s substitui um trecho de texto por outro
  • ! inverte a lógica do comando
  • ; separador de comandos
  • | separador de strings
  • d no final deleta
  • p no final imprime
  • g no final (como se usa o d e p) altera todas as ocorrências
  • q sai do sed , não continua o comando

Continue reading »

jun 032020
 

When an application puts a socket into LISTEN state using the listen syscall, it needs to specify a backlog for that socket. The backlog is usually described as the limit for the queue of incoming connections.

TCP state diagram

Continue reading »

ATUALIZAR PARA O UBUNTU 20.04 LTS

 Clusterweb, ClusterWeb, Leitura Recomendada, Linux, Profissional de TI, Ubuntu  Comentários desativados em ATUALIZAR PARA O UBUNTU 20.04 LTS
Maio 282020
 

INTRODUÇÃO

 

Ubuntu lançou recentemente a nova versão 20.04 LTS, sendo ela muito estável e com um excelente visual gráfico. Muitas pessoas, como eu, estavam, ou estão, com a versão anterior do Ubuntu instalada, a 19.10, 19.04 ou anteriores. Tenho também algumas VPS (Virtual Private Server, ou Servidor Virtual Privado) contratadas, com as versões 19.10 e 16.04 LTS, sendo que preciso atualizá-las também.

Para este material, montei duas máquinas virtuais, ambas com um ambiente de desenvolvimento Java, com os seguintes softwares e o seguinte hardware virtualizado, listados abaixo, para testar a atualização:
Continue reading »

Como desativar IPv6 no Ubuntu

 Clusterweb, ClusterWeb, Debian, Linux, Profissional de TI, Redes, Segurança, Ubuntu  Comentários desativados em Como desativar IPv6 no Ubuntu
abr 192020
 

O IPv6 ainda não é uma maioria no Brasil, se a sua rede não suporta ainda a nova tecnologia, você pode desativá-la!

Desativar o IPv6 no Ubuntu ou somente no APT pode ser a solução para alguns usuários do Ubuntu que estão tendo problemas com o IPv6 por conta de alguns repositórios de terceiros. A gente sabe que o IPv6 é o futuro, mas nem todos os repositórios estão utilizando o novo protocolo. Neste caso, para evitar falhas é necessário que o IPv6 seja desativado, mas não se preocupe o IPv4 não foi desativado e de forma particular, ainda vai demorar um pouco para que isso aconteça.

Vamos mostrar como desativar o IPv6 de duas formas, somente para o APT ou de forma geral no sistema, escolha a que for mais interessante para você. Se o seu problema for apenas com o APT então desative somente para ele, se for com outros recursos como aplicativos então desative de forma geral.

Como desativar o IPv6 somente no APT do Ubuntu?

Como disse anteriormente, se o seu problema é apenas com repositórios, recomendamos desativar o IPv6 somente no APT, siga as instruções abaixo:

$ sudo nano /etc/apt/apt.conf.d/99force-ipv4

Dentro do arquivo cole o seguinte conteúdo:

$ Acquire::ForceIPv4 “true”;
Salve e feche o arquivo, automaticamente o APT vai usar somente o IPv4 da sua conexão!

Como desativar o IPv6 no Ubuntu inteiro?

Esta opção, é recomendada se você quer desativar o IPv6 completamente, de todo o sistema, neste caso no Ubuntu, vamos fazer algumas alterações no Linux Kernel, para que o IPv6 possa ser desativado de maneira correta.

Vamos editar uma configuração no sysctl:

Agora, dentro do arquivo cole o conteúdo abaixo:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

Agora, salve e feche o arquivo e em seguida recarregue as instruções acima com o comando abaixo:

$ sudo sysctl -p

Por último vamos fazer um teste para saber se o Ipv6 foi desativado com sucesso, execute o comando abaixo:

$ cat /proc/sys/net/ipv6/conf/all/disable_ipv6
Se o resultado for 1, então esta tudo certo!
Para reativar o IPv6 no Ubuntu, basta remover essas 3 linhas no arquivo 99-sysctl.conf e executar o comando com sudo sysctl -p para carregar as alterações.
abr 192020
 

rsync é uma ferramenta de cópia e sincronização de arquivos e diretórios muito versátil e simples de utilizar. Com o rsync é possível copiar arquivos localmente (no mesmo sistema de arquivos), ou para um outro host na rede utilizando qualquer shell remoto, ou ainda por meio de um daemon remoto do rsync.

O rsync utiliza um algoritmo de transferência de dados que permite enviar apenas as diferenças entre os arquivos enviados e os existentes no destino, desta forma diminuindo a quantidade de dados enviados, e aumentando a performance da transferência. Por isso, é largamente utilizado como ferramenta de backup de dados, assim como comando de cópia normal do dia-a-dia.

O rsync também possui suporte à cópia de links, dispositivos, proprietários, grupos e permissões, além de não necessitar de privilégios de superusuário (root) para realizar seu trabalho.

Para que os dados sejam transferidos com segurança, o rsync assume que um servidor SSH esteja em execução ao menos em um dos hosts onde ocorrerá a transferência de arquivos.

Continue reading »

abr 192020
 

Esta dica irá mostrar um exemplo de configuração do lshell, em um sistema Debian Squeeze, para limitar a execução de comandos previamente liberados para um determinado usuário ou grupo, bem como os diretórios aos quais o usuário poderá ter acesso, dentre outras opções relacionadas ao seu ambiente shell.

Instalação do lshell:

# aptitude install lshell

Configuração do lshell – /etc/lshell.conf:

# gedit /etc/lshell.conf

[global]

## Diretório de logs.
## Usuário deve ser membro do grupo lshell.

logpath     : /var/log/lshell/

## Nível de log: 0, 1, 2 ou 3.
loglevel      : 3

## Nome do arquivo de log. (Padrão %u.log. Ex: usuario.log)
logfilename   : %y%m%d-%u

## Configuração padrão. Poderão ser criadas configurações
## separadas para cada usuário ou grupo.
## Ex: [usuariox], [grp:users]

[default]

## Lista de comandos permitidos ao usuário. Use ‘all’ para permitir
## todos os comandos na variável PATH do usuário.

allowed     : [‘ls’,’echo’,’cd’,’ll’,’date’,’hora’,’vim’,’vi’,’cat’]

## Lista de comandos ou caracteres proibidos.
forbidden     : [‘;’, ‘&’, ‘|’,’`’,’>’,'<‘, ‘$(‘, ‘${‘, ‘cat’]

## Lista de comandos permitidos quando usados com sudo.
## Devem estar previamente configurados em /etc/sudoers.

sudo_commands    : [‘modprobe’, ‘iptables’]

## Número de avisos que o usuário terá antes de ser desconectado
## após tentar entrar em um diretório não permitido ou executar
## um comando da lista ‘forbidden’.

warning_counter : 5

## Aliases para comandos. (alias e comando devem estar na lista ‘allowed’)
aliases     : {‘ll’:’ls -l’, ‘vi’:’vim’, ‘hora’:’date +%H:%M’}

## Texto a ser exibido ao iniciar o lshell.
intro      : “== Ambiente restrito ==\nDigite ‘?’ ou ‘help’ para ver a lista de comandos permitidos.”

## Tempo máximo de inatividade em segundos antes
## do usuário ser automaticamente desconectado.

timer      : 300

## Lista de pastas as quais poderão ser acessadas pelo usuário.
path      : [‘/tmp/’,’/var’]

## Define o diretório home do usuário. Se não especificado,
## sera utilizado o valor da variável de ambiente $HOME.
#home_path    : ‘/home/usuario/’

## Altera a variável de ambiente PATH do usuário.
#env_path    : ‘:/usr/local/bin:/usr/sbin’

## Permite ou proíbe o uso de SCP pelo usuário. ( 1 permitir – 0 negar)
scp      : 1

## Permite ou proíbe uploads com SCP ( 1 permitir – 0 negar).
## Parâmetro ‘scp’ deve possuir valor 1.

scp_upload    : 1

## Permite ou proíbe downloads com SCP ( 1 permitir – 0 negar).
## Parâmetro ‘scp’ deve possuir valor 1.

scp_download    : 0

## Permite ou proíbe o uso de SFTP ( 1 permitir – 0 negar).
sftp      : 1

## Lista de comandos permitidos através de SSH.
## Ex: ssh [email protected] ‘ls ~’

overssh      : [‘ls’,’rsync’]

## Considerar ou não comandos inválidos como ação proibida, se 1,
## comandos inválidos irão gerar avisos que poderão desconectar
## o usuário, conforme parâmetro ‘warning_counter’.

strict      : 0

## Forçar pasta de destino para arquivos enviados por SCP.
scpforce      : “/tmp”

## tamanho máximo do arquivo history.
history_size    : 100

## Nome do arquivo contendo o hipótrico de comandos.
history_file    : “/home/%u/.lshell_history”

Continue reading »

SHELL IN A BOX – ACESSANDO O SHELL LINUX PELO NAVEGADOR WEB

 Apache2, Clusterweb, ClusterWeb, Debian, Leitura Recomendada, Linux, Profissional de TI, Redes, Shell Script, Ubuntu  Comentários desativados em SHELL IN A BOX – ACESSANDO O SHELL LINUX PELO NAVEGADOR WEB
abr 192020
 

Esta, é apenas uma dica que tem o intuito de mostrar e divulgar uma ferramenta para acessar o Linux / Shell através de um navegador Web. Sendo assim, não entrarei em detalhes sobre instalação e configuração do mesmo.

No entanto, com a evolução das distribuições Linux, já existem pacotes que podem ser executados e instalados automaticamente, como no caso o Shell in A Box, que oferece o pacote de instalação no formato “.deb”, podendo ser instalado diretamente em distro baseadas no Debian / Ubuntu.

A FERRAMENTA

O Shell in A Box é ideal quando há necessidade de acessar remotamente um computador. Muitas vezes ‘sendo obrigado’ ou, não tendo outras maneiras de acessá-lo, tendo apenas o Navegador Web.

Uma das grandes vantagens do Shell in A Box, é que o mesmo já traz consigo um servidor Web próprio que escuta a porta 4200, sendo assim, logo após instalá-lo, já está disponível para acesso via Web sem a necessidade de nenhuma outra configuração.

Para acessá-lo, basta apenas abrir um Navegador Web, e digitar o seguinte endereço: https://localhost:4200

Desta maneira, você terá acesso no computador local.

Para acessá-lo remotamente, basta digitar o seguinte endereço: https://IP_Servidor_Shell_in_A_Box:4200/

Linux: Shell In A Box - Acessando o Shell Linux pelo Navegador Web

O Shell in A Box suporta atividades diretas com editores de texto, podendo usar editores como VI, VIM, JOE, entre outros.

Ao acessar o servidor pelo navegador, o Shell in A Box não permite acesso direto ao root, sendo assim, há necessidade de acessar com outro usuário, e depois de fazer o login como root.

Para baixá-lo, basta acessar o seguinte link:

FreeNAS – Habilite e configure o Armazenamento de Objetos no FreeNAS 11.x compatível com APIs S3 – com base no MinIO

 Backup, Banco de Dados, Clusterweb, ClusterWeb, FreeNAS, Leitura Recomendada, Linux, Profissional de TI, Sistemas de Armazenamento  Comentários desativados em FreeNAS – Habilite e configure o Armazenamento de Objetos no FreeNAS 11.x compatível com APIs S3 – com base no MinIO
abr 122020
 

Hoje, trago a você o passo a passo para configurar o Armazenamento de Objetos no FreeNAS 11.x, que utiliza o MinIO como uma plataforma para atender às APIs do S3.

O que é o MinIO?

O MinIO é um servidor de armazenamento de objetos de código aberto lançado sob a licença Apache v2. É compatível com o serviço de armazenamento em nuvem do Amazon S3. O MinIO segue uma filosofia de design minimalista.

O MinIO é leve o suficiente para ser empacotado com a pilha de aplicativos. Está localizado no lado do NodeJS, Redis, MySQL e similares. Diferentemente dos bancos de dados, o MinIO armazena objetos como fotos, vídeos, arquivos de log, backups, imagens de contêiner / VM etc. O MinIO é mais adequado para armazenar notas de informações que variam de KBs a TBs cada. Em um sentido simplista, é como um servidor FTP com uma simples API get / put sobre HTTP.

Continue reading »

FreeNAS – configure o armazenamento de objetos de repositório do Veeam Backup conectado ao FreeNAS (MinIO)

 Backup, Clusterweb, ClusterWeb, FreeNAS, Leitura Recomendada, Linux, Profissional de TI, Redes, Segurança, Sistemas de Armazenamento, Vmware ESXi  Comentários desativados em FreeNAS – configure o armazenamento de objetos de repositório do Veeam Backup conectado ao FreeNAS (MinIO)
abr 122020
 

Se o víssemos em um diagrama muito simples, teríamos o seguinte: uma combinação de extensões locais (Repositórios de Backup) denominada Camada de Desempenho, à qual é adicionada uma Camada de Capacidade baseada no Armazenamento de Objetos, para a qual são enviadas as cópias que não fazemos precisa ter no nível de desempenho:

Continue reading »

How To Install PHP 7.3 On Debian 9 / Debian 8

 Apache2, Clusterweb, ClusterWeb, Debian, Hospedagem, Leitura Recomendada, Linux, Profissional de TI, Ubuntu  Comentários desativados em How To Install PHP 7.3 On Debian 9 / Debian 8
fev 032020
 

This short tutorial is for installing PHP 7.3 on Debian 9 (Stretch) and Debian 8 (Jessie). With PHP 7.3 comes a number of bug fixes, new functionalities and features as well as a number of deprecations.

Continue reading »

fev 032020
 

Parece que todos os arquivos de log de todos os servidores HTTP que eu administro têm seus logs de erros repletos de erros HTTP 404 nos últimos dias. E de onde exatamente estão todos esses erros? Aparentemente, eles vêm de crianças de script que procuram assumir os bancos de dados SQL para o lulz.

O QUE É O ZMEU?

De minha pesquisa, o ZmEu parece ser uma ferramenta de segurança usada para descobrir falhas de segurança na versão 2.xx do phpMyAdmin, um gerenciador de banco de dados MySQL baseado na web. A ferramenta parece ter se originado em algum lugar da Europa Oriental. Como o que parece acontecer com todas as ferramentas de segurança do black hat, ele foi para a China, onde tem sido usado desde então para ataques de força bruta ininterrupta contra servidores da Web em todo o mundo.

Continue reading »

dez 092019
 

Um computador tem essencialmente dois tipos de memória: a memória RAM e a memória de armazenamento em disco. A memória RAM é volátil, mas é a mais rápida de um sistema. No entanto, comparativamente à memória de armazenamento (memória em disco), a memória RAM é mais cara e de menor dimensão.

No Linux podemos ter uma partição Swap que permite usar memória de armazenamento do disco como se fosse memória RAM (obviamente sendo mais lenta). Hoje ensinamos como aumentar a memória Swap do seu sistema Linux.

Dica Linux: Como aumentar a memória Swap do sistema?

Continue reading »