: () { : | : & } ; : - Estilo Operacional - Sistema de Vida
Estilo Operacional - Sistema de Vida
A Onda De Pseudociência
Virus, Linux e RootKits
Convertendo Arquivos de Vídeo para iPhone com HandBrake
Listagem de Nomes Aleatórios em Shell e Zenity
Baixando Letras De Músicas Do Site DarkLyrics
Itamar escreveu : Já disse, você como performe...
Marconi Medeiros escreveu : Mineral! É Mineral! Já ouviu...
marconi escreveu : artigo muito bom, parabéns!!!
ano 2013 (2)
Escrito por Mario Medeiros não comentários
A onda de pseudociências, negacionismo e a tal da pós-verdade, tem alcançado cada vez mais pessoas. Trazendo cada vez mais adeptos em grande quantidade e muito rápido.
Chegou no ponto em que grupos conseguem se organizar, com dinheiro, influência e até um certo grau de poder político.
O que antes era em parte uma mera piada (ainda é sim uma piada) está se tornando um grave problema cognitivo e social.
Estão atacando mais e mais as bases científicas e a técnica é simples: dizer sempre a mesma coisa inúmeras vezes, tornando assim para os "desavisados", a nova verdade.
A palavra da vez para bater de frente com a Ciência é "Refutar". Mas como todo bom pseudo-sei-la-o-que, é claro que distorcem o conceito da palavra.
O pouco que observo, me mostra que esses picaretas (sim, são picaretas e charlatões sim) estão ocupando os espaços como se não houvesse nenhuma resistência. O que por enquanto existe muito pouca por sinal.
Um dos efeitos de se atacar picaretas e charlatões é o de promovê-los, porque eles conseguem utilizar muito bem aquele ditado antigo e batido, mas que ainda funciona: falem mal, mas falem de mim.
Já havia mencionado sobre esse tipo de situação anteriormente, que é como combater a picaretagem. E sinceramente eu não vejo muitas alternativas racionais para tal.
Talvez, e somente talvez, num futuro não tão distante assim, poderia haver políticas ou ações da seguinte ordem:
Quem não aceitar as premissas da Ciência, estará automaticamente excluído dos acessos a seus benefícios. Alguns dirão que isso vai contra a liberdade de expressão e bla bla bla.
Existem limites para tolerâncias e pseudociência é uma das coisas que não deveriam ser toleradas. Atualmente pode soar como radicalismo, ou como alguns adoram usar, "fascismo", mas para quem sabe fazer ao menos a tabuada do Zero, tente fazer uma projeção a longo prazo, de forma estatística de como as pseudagens estarão ocupando o dia-a-dia das pessoas.
Claro que sem efeitos práticos com benefícios reais. Vão manter as Ciências reais somente naquilo que não poderão substituir, mas atacarão e chegarão até mesmo proibir aquelas que acharem desnecessárias.
É um exagero isso? Talvez não seja, mas quem quer pagar para ver?
2019-05-09 – 18:29h.
Categorizado em : Diversos Tags : sem tags
Linux, Vírus e RootKits
Uma das questões em que muitas pessoas ainda tem conceitos com base em desinformação é sobre os vírus para Linux. Tentarei ser breve e rápido em descrever e desmitificar isso.
Tem um sistema operacional (hahahahahahaha. Não ria, é feio!) de tela azul que atualmente deve estar na versão 10 ou 10.x, que é o mais suscetível a ser infectado por vírus. Esse sistema, é especialista nisso. Mas vamos discorrer um pouco sobre isso.
Primeiro dizem que só porque ele é o mais utilizado e por isso é mais "visado". Segundo dizem que é uma forma de garantir o mercado de anti-virus, uma vez que o desenvolvedor proprietário desse sistema tem acordos de longa data com os desenvolvedores dessas ferramentas.
Vamos falar então sobre esses dois pontos.
Ser o mais "visado" não é necessariamente o motivo principal, mas é uma variável a ser considerada. No real é a estrutura básica do sistema que permite ser exploradas suas vulnerabilidades (um detalhe: não existe sistema cem por cento invulnerável).
A forma de lidar como o modo multiusuário é meio porco (tá bom, tá bom. É muito porco), permitindo que o usuário principal do sistema tenha os privilégios (na nomenclatura dele) de administrador para todas as tarefas, desde as corriqueiras até as realmente administrativas.
Aliado a isso, a forma como o mesmo instala programas é bem simplória: o famoso NNF, ou Next Next Finish.
Sobre o mercado de anti-virus, foi feito com o decorrer dos anos um monte de acordos para que os desenvolvedores dessas ferramentas fizessem o trabalho de fornecer o melhor possível, em matéria de software, para proteção do sistema operacional em questão. Até agora estão conseguindo até que mais ou menos bem, cumprir essa missão. Muitas vezes não conseguem mesmo, mas aí é outra estória.
Mas vamos deixar de lado esse sistema que é um pool, um repositório infinito, um "buraco negro" de coleta e uso de vírus.
É sobre vírus para Linux que pretendo falar rapidamente. O assunto é bem mais complexo, portanto deixarei algumas fontes/links no final para referências e melhores estudos.
Mitos E Verdades sobre Linux Ter Vírus
Existem vários mitos sobre Linux ter ou não vírus e se ele é infectado ou não.
Obs: uma falácia ou mito, é que uma vez que o Linux não tem tantos usuários assim, então não tem vírus para ele.
Primeiro: sim existem vírus para Linux
Segundo: não é assim tão simples uma infecção em Linux.
Ah, não? Ah tá!! Vamos descrever então, um pouco sobre cada um dos pontos acima.
Primeiro item: existem vírus para Linux sim. Não tenho os dados de quantidade, mas existem sim. E parece não ser poucos. Mas tem alguns detalhes a serem considerados (sempre tem). A probabilidade de um sistema Linux ser infectado por vírus são muito baixas.
Segundo item: você teria que facilitar muito e até mesmo permitir algo do tipo: vírus, pode entrar no sistema e infectar o que der!!
O sistema é multiusuário, mas a forma como lida com seus usuários é bem mais criteriosa. Na instalação do sistema, é solicitado que crie um usuário padrão, com poucos privilégios sobre o sistema, para que possa trabalhar sem permissões de administrador, ops, ou melhor, Root. Com isso, o local de acesso desse usuário fica restrito ao seu próprio diretório "home'. Ex: /home/usuario
Quanto necessitar instalar ou fazer alterações no sistema, haverá uma solicitação de senha do usuário root, que é gerada no processo da instalação.
Com isso, a instalação de novas aplicações/programas e alterações nas configurações do sistema, ficam um pouco mais restritas. Diminuindo a possibilidade de falhas e/ou instalação de softwares maliciosos.
Em Linux existem várias formas de se instalar programas: os repositórios de softwares das distribuições, pacotes pré-compilados e os sources ou códigos fontes, para compilação na máquina local. O mais comum atualmente são os repositórios de softwares.
Um exemplo de repositório Debian:
O repositório normalmente, estão alocados nos servidores da distribuição (mas pode ser local também, mas aí é uma outra estória, mas segue a mesa lógica). São mantidos pelos desenvolvedores, que também são tanto do projeto Debian, quanto desenvolvedores voluntários, que participam do projeto.
Esse modelo é muito utilizado em quase todas as distros (distribuições Linux) que existem. Isso também permite um controle mais apurado da qualidade e segurança dos pacotes de softwares. Claro que já houve situações em que, devido a alguma invasão ou até mesmo brechas de seguranças, os repositórios ficaram comprometidos com software malicioso. Um evento desse tipo que me lembro foi com o pessoal do Linux Mint, uma distribuição baseada em Debian e Ubuntu. Mas o que ficou comprometido foram as imagens ISO de instalação do sistema e não o repositório dos softwares. Mesmo assim foi complicado para o pessoal do Linux Mint, mas também foi relativamente rápido e eficiente a solução. Coisa que acontece quase nunca com o sistema de tela azul.
Nesse caso não foram vírus e sim invasão dos servidores, inclusão de códigos/softwares maliciosos nos arquivos de imagem ISO de instalação do sistema. O que pode ser algo similar.
Mas vamos então falar um pouco sobre algo que realmente é grave em Linux, os tais rootkits.
Não é tão diferente de se "infectar" com um rootkit.
é um software malicioso que permite o acesso a um computador enquanto oculta a sua atividade. Originalmente o rootkit era uma coleção de ferramentas que habilitavam acesso a nível de administrador para um computador ou uma rede. Uma das propostas desse programa é o uso para ocultar específicos processos e arquivos para algumas partes do sistema.
O malware se integra a partes do sistema operacional para que não seja possível fazer a leitura do mesmo no disco rígido do computador. Assim dando a impressão que o mesmo não existe. Desta forma, sistema de segurança e proteção do computador, por exemplo, antivirus, não conseguem ler o código do software malicioso para efetuar testes de detecção e identificar ameaças. Outra função comum é camuflar seu processo de execução fazendo rodar como uma thread em algum processo essencial do sistema, como comando ls ou ps do Linux, não podendo ser visualizado como um arquivo ou processo do sistema.
Detalhe. Uma das formas de se infectar com rootkit, pode ser por algum programa pré-compilado fora dos repositórios ou pelos sources. Não é assim algo muito comum. Outra forma, seria por alguma via de invasão do sistema. Distros desatualizadas com falhas de segurança e/ou com configuração padrão, são propícias a "infecções".
Nestes casos, uma das ferramentas mais utilizadas para detecção de rootkits é o chkrootkit.
Pode-se instalar tanto pelo source (código fonte) ou pelo repositório.
Por exemplo, no Debian, como root: apt-get install chkrootkit
No site do desenvolvedor do chkrookit, tem a documentação de instalação e utilização do programa.
Testando Alguns Scripts
Então vamos fazer alguns experimentos simples para ver quanto de estrago poderemos causar.
Reforçando que a idéia aqui é fazer alguns testes e com isso ter o hábito de se ter alguns cuidados simples ao lidar com scripts e/ou pacotes de aplicativos/programas de terceiros.
Fiz alguns scripts pequenos que causam um certo contratempo na utilização do sistema. Não são nada de mais, mas que podem ser problemáticos se utilizados com objetivo de causar danos reais. Portanto use com cautela e de forma alguma utilize para prejudicar pessoas. Não é esse o objetivo desse texto/artigo.
Primeiro Script:
Sistema Operacional: Linux Ubuntu Mate 18.10 x64, rodando no VirtualBox. Pode ser utilizado via Live/DVD ou pendrive bootavel.
Alertando: Não utilize os scripts em ambientes de produção. Somente em ambientes de teste.
Aplicações adicionais: fortune e xcowsay – instaladas via apt-get, pelo script "pseudo-virus".
Procedimento: o script "libera-a-vaca", trava com mensagens do fortune e xcowsay no ambiente gráfico - usa root na instalação e rodando em background pra ferrar de vez com tudo. Esse script grava o comando de repetição em loop no arquivo .bashrc do usuário comum e do root. Com isso, toda vez que o terminal for aberto, ele chama novamente o fortune e xcowsay, gerando mais um processo em background. A reação normal é tentar abrir um terminal, chamar o sudo su para tentar parar os processo. Mas como a linha de loop está no bashrc, ela gera um novo processo, joga em background e sai do login root. Legal né. Fiz um pacote .deb para instalar via dpkg e um script para rodar direto no terminal. Para cada situação o script está escrito com alguns detalhes diferentes para se instalar, mas no final o resultado é o mesmo. Para parar o processo, fiz o script "limpa-vaca", que remove os pacotes fortune e xcowsay. De forma manual, é necessário parar os processos gerados e em background. Depois de reiniciar o sistema, o mais provável é que tudo volte ao normal como antes.
Obs 0: fiz os testes somente no modo livedvd do ubuntu mate, o que faz que perca todas as informações e configurações. Mesmo assim, evite fazer os testes em máquinas e sistema em produção.
Procedimento: o script utiliza comandos nativos do bash e algumas funções básicas para facilitar o estrago. Move arquivos e diretórios do home do usuário para tmp, deixando-os ocultos e mudando para nomes aleatórios utilizando a variável de ambiente $RANDOM, que serão substituídos por números. Variações do mesmo script para poder mover e apagar arquivos aleatórios e com sleep ininterruptos, dificultado encerrar o processo ou processos gerados.
Os códigos fontes dos scripts e o pacote .deb, estão no github.
Reforçando e Relembrando:
Mesmo estes scripts sendo simples, relativamente inofensivos, não deve-se utilizar para causar danos à terceiros. Servem somente para fins didáticos. De forma alguma devem utilizados para outros fins, que possam causar danos à terceiros. Utilize com responsabilidade e em ambiente controlado.
Existem outros tipos de scripts e/ou comandos que causam diversos transtornos em sistema UNIX/Linux. Uma busca no Google por "comandos perigosos em linux" retorna uma enorme quantidade de sites com as informações solicitadas.
Nenhum desses scripts que fiz, tem as características típicas ou conceituais dos virus de computadores. Tem somente um esboço dos conceitos, mas mesmo assim, podem causar danos, contratempos e com alguns ajustes nos códigos pode-se deixar os scripts com mais características de variantes de vírus.
Portanto, em sistemas UNIX/Linux, o maior causador de problemas é o vírus conhecido como usuário. Esse sim, pode causar estragos em escalas imensuráveis. E na maioria das vezes sem ser forma intencional.
Linux pode se infectar com vírus? Sim! Como eu mencionei anteriormente, não é um sistema invulnerável. Mas a probabilidade de se pegar é muito baixa e não é algo tão simples assim. Está um tanto quanto paranóico? Configure seu firewall, que por um não acaso do universo, em Linux funciona sim. Tente acompanhar os changelogs dos desenvolvedores da sua distro. Utilize repositórios oficiais, que tenham uma boa manutenção e atenção de segurança. Claro, que não é necessário excluir, por excesso de zelo, outros repositórios ou os pacotes .deb ou de outro formato de sua distro. Só precisa dar uma lida na documentação dos pacotes, que normalmente tende a ser bem completa.
Outro detalhe, por mais eficiente e próximo da perfeição que seja o Linux ou qualquer outro sistema operacional, existe uma imperfeição que talvez passe despercebido: o usuário.
Em Linux, boa parte de seus usuários tem um conhecimento técnico bem mais apurado do que de outros sistemas não UNIX LIKE. Tendem a aprender mais sobre o sistema. Uma vez que Linux lhe dá poder absoluto de utilização, seu conhecimento sobre ele tende a ser mais alto também. Mas como tudo na existência possui exceções, aqui não seria diferente. Pode sim, e já (constatei essa situação), usuário utilizando Linux e fazendo as mesmas "maravilhas técnicas" que se faz no sistema de tela azul, com um pequeno detalhe: os estragos são extremamente maiores e mais duradouros.
Arquivos no GitHub
Artigo Medium
Algumas Referências e Links:
https://www.diolinux.com.br/2014/02/por-que-linux-android-nao-pega-virus.html
https://wiki.debian.org/configura%C3%A7%C3%A3o%20repositorios%20PT%20BR
https://pt.wikipedia.org/wiki/Rootkit
https://pt.wikipedia.org/wiki/F.I.R.E
A referência sobre a infecção do ISO Linux Mint, que ocorreu em 20 de Fevereiro 2016, está em:
https://pplware.sapo.pt/linux/atencao-linux-mint-pode-estar-infectado/
2019-02-22 – 15:31h.
Categorizado em : Não categorizado; Tags : sem tags
Quando se tem mais de um tipo de smartphone (no caso um Android e um iPhone), muitas coisas podem não ser tão compatíveis entre si.
Não vou entrar no mérito de "quem é o melhor", mas falarei de forma breve ao menos, sobre compatibilidade de arquivos, que no caso são os de video.
A situação/cenário é o seguinte:
Gravo videos com o Android, copio para o desktop Linux, ajusto/edito com o OpenShot e exporto como mp4 para web, tentando assim, manter a melhor qualidade possível. Encontrei há algum tempo um script do ffmpeg que reduz o tamanho dos arquivos numa proporção até que razoável.
Quando tentei enviar para o iPhone (que tem suas frescuras e imbecilidades, mas não vem ao caso), os vídeos estavam sem áudio. Aí o demente aqui, pensou: aaaahhhhh, é só mudar o codec do ffmpeg e pronto, moleza. Ledo engano. Cada vez ficava pior o formato, a ponto de muitas vezes, ficar até maior que original e ainda sem áudio.
Numa busca um pouco mais refinada, com mais raciocínio e paciência, encontrei no site Command Line Fu, um comando utilizando o HandBrake, que é um Video Transcoder Open Source. Eu utilizo o mesmo para extrair arquivos de DVDs. Mesmo conhecendo a ferramente há um bom tempo, nunca me passou pela cabeça (normal isso, muito normal) que o mesmo tivesse recursos por linha de comando.
Claro, deve-se instalar o handbrake-cli que é separado do pacote Handbrake. Mas isso é moleza.
Em Debian e derivados, utilizar o apt-get install handbrake-cli
Depois é só utilizar o comando abaixo na pasta onde estão os arquivos. Ah, o comando original do site, está pronto para conversão em lote, ou seja, pode ter N arquivos na pasta que serão convertidos todos.
Fiz uns ajustes no código. Foram somente para criar uma pasta separada e o formato dos arquivos de origem de AVI para MP4. Foi o que eu precisava.
As vantagens desse script foram que além de ficar no formato correto para leitura no iPhone, ficaram menores ainda do que com o script anterior e com uma perda imperceptível (ao menos para mim) de qualidade visual.
Espero que este pequeno post, possa ser útil, mesmo para quem não tenha esse problema de compatibilidade que tive, mas que precise manter uma boa qualidade dos vídeos em tamanhos relativamente pequenos.
Seguem o shell script que fiz com o comando e os links sobre a documentação do HandBrake.
Obs: o shell que fiz, verifica se existe o diretório de destino criado, se houver ele começa a conversão. Caso não exista, ele cria o diretório e inicia a conversão. Foi mais para resolver meu problema de preguiça. Altere conforme necessário.
Documentação do HandBrakeCLI
Shell Script com o comando:
#Data: 2018-12-09
#Versao: 1.0.0
#Autor: Mario Medeiros
if [ -e "convertidos-iphone" ]
find . -name \*.mp4 -exec HandBrakeCLI -i "{}" -o convertidos-iphone/"{}".iphone.mp4 --preset="iPhone & iPod Touch" \;
echo " diretorio não existe - criando diretorio"
mkdir convertidos-iphone && find . -name \*.mp4 -exec HandBrakeCLI -i "{}" -o convertidos-iphone/"{}".iphone.mp4 --preset="iPhone & iPod Touch" \;
Data original do texto: 2018-12-17
Categorizado em : Linux, Diversos Tags : sem tags
Este artigo (nem sei se poderíamos chamar de artigo, mas vai assim mesmo), é bem curto e com um código bem simples. Gerar um lista de itens aleatória com base em uma lista pré-definida.
Com base em um arquivo txt com nomes (organizado com um nome por linha, claro), o script lê o arquivo texto e gera uma outra lista na tela com as linhas ordenadas de forma aleatória.
Super básico e simples. Serve para uso em sorteios de brindes e outros. Pode-se limitar o resultado pela tela de número de itens a ser mostrado. Se caso não for passado nenhum parâmetro, o script retorna por padrão, 10 itens.
Segue abaixo o código, em shell e Zenity.
#Script simples em bash com zenity, para sorteio de nomes de uma lista em txt
#Seleciona arquivo organizado com nomes por linhas, embaralha o conteúdo de
#forma aleatória (randomica) e mostra na tela a quantidade de itens selecionados
#Nome Aplicação: Sorteio
#Nome Arquivo: sorteio.sh
#Data: 2018-10-04
#Versão: 1.0.0
#Dependências: Zenity
arquivo=$(zenity --file-selection --title="Selecione Um Arquivo de Lista")
numero=$(zenity --entry --text="Digite O Número De Itens" --title="Número De Itens Da Lista")
cat $arquivo | sort -R | head -$numero | zenity --text-info --auto-scroll --width=500 --height=500
Categorizado em : Linux Tags : sem tags
Existem espalhados pelas "infernets e infer-webs" uma variedade enorme de sites com as letras de músicas, das mais variadas bandas e estilos. Até ai, nada de mais.
Quando se pretende somente uma letra ou duas, é só procurar um pouco, acessar o site e ler ou até mesmo copiar a letra, se quiser.
A idéia aqui é salvar ou baixar/copiar as letras de forma um tanto quanto que automatizada, utilizando como motivador a Soberana Preguiça, com ferramentas Linux, em Shell Script. Lembrando que é uma solução bem simples e básica para um problema ou necessidade pessoal bem específica e que talvez possa ser ajustada para outras necessidades e situações.
1 – Estilo de música: metal
2 – Site das letras: www.darklyrics.com
3 – O que baixar: lista de álbuns, letras de músicas individuais e/ou das músicas dos álbuns.
Como disse, é uma situação bem específica e pessoal.
O site possui um padrão de organização que facilitou bem a montagem do script.
A estrutura do site segue a seguinte lógica:
Link da banda: http://www.darklyrics.com/i/inflames.html
Site, letra inicial do nome da banda, nome da banda (página com os links para os álbuns).
Link para os álbuns, por exemplo banda In Flames, álbum Battles:
http://www.darklyrics.com/lyrics/inflames/battles.html
Observe que há diferenças de caminhos quando se trata da banda e dos álbuns da mesma. Seguindo o padrão, foi relativamente fácil lidar as variáveis "banda", "album" e "letra".
Para chegar até a banda, segue a inicial depois o nome da banda. Para os álbuns e letras, coloca-se no caminho, o "lyrics" a "banda" e depois o "album".
O script tem as seguintes funções, conforme o menu abaixo:
1 - Listar albums da banda
2 - Escolher album da banda
3 - Gravar em arquivo lista de albuns
4 - Gravar em arquivo letras do album
z - Sair - Sai do Sistema
As opções 3 e 4, que são as mais interessantes, permitem baixar e gravar em arquivo a lista de álbuns e as letras de um álbum específico, que for informado para o script, por exemplo:
-----------------Escolha uma opção---------------------
Escolha uma das opcoes acima [1-2-3-4-z]: 4
Nome da banda sem espacos
Nome do album sem espacos
O arquivo será salvo em dois formatos, txt e html, com o nome do álbum, da seguinte forma:
letras-battles.txt
letras-battles.html
O formato em txt já é suficiente para poder ser utilizável em qualquer editor de texto que queira. Fiz uma saída em html, para se ter mais uma opção. Pode-se utilizar em qualquer layout HTML/CSS, desde que faça os ajustes necessários.
Eu utilizei o layout do site HTML5UP (http://html5up.net/), tema Halcyonic, que me atendeu conforme eu necessitava.
No demais, o script é um tanto quanto que intuitivo. Vou deixar o link com o script e os arquivos de modelo em html e css do layout acima mencionado. Crie um diretório no seu home com um nome qualquer que facilite o uso, como por exemplo, letras e mantenha todos no mesmo diretório de trabalho, com a seguinte estrutura:
dark-lyrics-dolores.sh
│ │ └── ie
Quando a opção 3 e/ou 4 forem utilizadas, serão gravados os arquivos nos dois formatos, txt e html. Escolha o que for mais interessante para sua necessidade.
Obs: este script foi feito em 2017-04-13 e está ainda na versão 0.1. Não postei antes devido a outros contratempos que tiveram maior prioridade. Não fiz nenhuma revisão desde então. Caso haja algum bug (e normalmente sempre tem) ou algo que não funcione adequadamente, pode-se optar em no mínimo, duas escolhas: me contatar e informar sobre o problema ou resolver por conta própria. A segunda opção é interessante hein, uma vez que pode lhe trazer um aprendizado novo. Mas, caso haja algum contratempo, mande um e-mail que tentarei resolver no menor tempo possível, ainda nesta eternidade.