Gerando hash MD5 dos arquivos no linux

Julho 30, 2009

Uma forma bastante interessante de se manter um controle sobre os arquivos, principalmente os de sistema, é gerar o hash dos principais arquivos e guardar em uma tabela para futuras pesquisas.

Gerando o hash de um arquivo, se houver qualquer tipo de alteração nele, ao rodar novamente o cálculo do hash MD5, o resultado do hash será diferente do resultado original.

No linux, você pode gerar o hash MD5 de um arquivo digitando o seguinte comando:

md5sum arquivo

Por exemplo, um cálculo de hash em um arquivo ficaria assim o resultado:

md5sum dic.txt

8f1d3d9518b9a09acf68c9db12ef29ac  dic.txt

Vamos alterar esse arquivo, acrescentando uma linha e após salvar, gerando novamente a função hash, teremos um novo resultado:

md5sum dic.txt

49526713e47393a7ffcb532fcff8fe9a  dic.txt

Ou seja, dessa forma, você poderá fazer um hash md5 de seus arquivos e quando precisar, verificar o hash para saber se ocorreu alguma alteração.


Como montar uma pasta compartilhada do windows 2003 no diretório /media no linux

Julho 27, 2009

Passei por uma situação que precisei montar uma pasta compartilhada, localizada no servidor Windows 2003, dentro do diretório “/media/srv” no meu linux Ubuntu, para rodar o comando ‘wipe’, por linha de comando.

Para tanto, após várias tentativas frustradas, recorri ao meu network para auxiliar em minha necessidade pontual. Dito e feito. Consegui o resultado esperado, mediante a sugestão de executar o seguinte comando:

sudo mount -t cifs //IPSERVIDOR/PASTACOMPARTILHADA -o username=LOGIN_WINDOWS,password=SENHA /media/srv

Como o servidor é um Windows Server 2003, tinha que montar com o tipo de sistema “cifs”. o Username e Password tem que ser a conta que tenha permissão de acesso a pasta.

Agradeço as sugestões dos amigos Marcos Lisboa e, em especial, do Carlos Renato, que com o comando sugerido acima, consegui montar a pasta compartilhada e permitir a execução do wipe, por linha de comando.


Problema no wireless após atualização do Kernel no Ubuntu 9.04

Julho 15, 2009

Eu tive um sério problema no meu notebook, depois que me “aventurei” na atualização do mais novo Kernel para o Ubuntu 9.04, a versão 2.6.28-13-generic.

A primeira consequência, nada agradável, foi a imediata parada no funcionamento da minha wireless. Ao rebootar a máquina, percebi que meu wireless lia os drivers, o Kernel atribuia o Firmware corretamente conforme o módulo do meu Bradcom43, mas não conseguia detectar as redes wireless.

De posse dos logs (syslog e message – ambos em /var/log), verifiquei que quando meu noteboot tentava conectar a rede da minha empresa e em minha casa, ambas configurações eu utilizo WPA2 – PKS, acontecia um erro, conforme listado abaixo:

NetworkManager: nm_setting_802_1x_get_pkcs11_engine_path: assertion `NM_IS_SETTING_802_1X (setting)’ failed

Pesquisando na internet, o problema era em respeito a um bug no NetworkManager sobre o módulo que gerencia as conexões wireless com criptografia WAP.

Solução:

Basta instalar o pacote “linux-backports-modules-jaunty” com o apt-get e depois, reiniciar o computador.  Digite o comando:

sudo apt-get install linux-backports-modules-jaunty


Pronto, minha rede wireless com WPA voltou a funcionar normalmente.

Até a próxima.


Como remover servicos do boot no linux

Abril 24, 2009

Estava configurando um servidor proxy no  linux (Squid), com autenticação no AD (Windows Server) através do Winbind. Verificando os serviços que estavam sendo iniciados no servidor linux, observei que um daemon ‘Bluetooth” estava sendo inicializado também no boot de forma desnecessária, porque eu não uso nenhum device (dipositivo) de bluetooth no servidor.

Com isso, tentei alterar as configurações de iniciação desse serviço com o seguinte comando (logado como root):

chkconfig –level 35 bluetooth off

Ou seja, tentei setar para que ao inciar o linux com o boot na opção do init em nivel 3 ou 5, esse daemon estaria desligado (off) e não seria carregado o módulo.

Porém, ao executar esse comando, apresentou a seguinte lista de erros:

insserv: warning: script ‘S01linux-restricted-modules-common’ missing LSB tags and overrides
insserv: warning: script ‘K01gdm’ missing LSB tags and overrides
insserv: warning: script ‘K20acpi-support’ missing LSB tags and overrides
insserv: warning: script ‘S10powernowd.early’ missing LSB tags and overrides
insserv: warning: script ‘S28NetworkManager’ missing LSB tags and overrides
insserv: warning: script ‘S10xserver-xorg-input-wacom’ missing LSB tags and overrides
insserv: warning: script ‘S05vbesave’ missing LSB tags and overrides
insserv: warning: script ‘S10udev’ missing LSB tags and overrides
insserv: warning: script ‘S08loopback’ missing LSB tags and overrides
insserv: warning: script ‘S37udev-finish’ missing LSB tags and overrides
insserv: warning: script ‘vbesave’ missing LSB tags and overrides
insserv: warning: script ‘NetworkManager’ missing LSB tags and overrides
insserv: warning: script ‘udev’ missing LSB tags and overrides
insserv: warning: script ‘acpi-support’ missing LSB tags and overrides
insserv: warning: script ‘udev-finish’ missing LSB tags and overrides
insserv: warning: script ‘xserver-xorg-input-wacom’ missing LSB tags and overrides
insserv: warning: script ‘loopback’ missing LSB tags and overrides
insserv: warning: script ‘powernowd.early’ missing LSB tags and overrides
insserv: warning: script ‘linux-restricted-modules-common’ missing LSB tags and overrides
insserv: warning: script ‘gdm’ missing LSB tags and overrides
insserv: There is a loop between service mountall and checkfs
insserv:  loop involving service checkfs at depth 8
insserv:  loop involving service checkroot at depth 7
insserv: There is a loop between service mountall and checkfs
insserv:  loop involving service mtab at depth 8
insserv: There is a loop between service udev and hwclockfirst
insserv:  loop involving service hwclockfirst at depth 7
insserv:  loop involving service mountdevsubfs at depth 6
insserv:  loop involving service networking at depth 2
insserv:  loop involving service mountall at depth 1
insserv:  loop involving service hwclock at depth 15
insserv:  loop involving service udev at depth 22
insserv: exiting without changing boot order!
/sbin/insserv failed, exit code 1

Resultado, parti para o meio mais radical, e executei o seguinte comando (logado como root):

update-rc.d -f bluetooth remove

Quanta tranquilidade!! Na hora, resolveu o meu problema:

Removing any system startup links for /etc/init.d/bluetooth …
/etc/rc0.d/K74bluetooth
/etc/rc1.d/K74bluetooth
/etc/rc2.d/S25bluetooth
/etc/rc3.d/S25bluetooth
/etc/rc4.d/S25bluetooth
/etc/rc5.d/S25bluetooth
/etc/rc6.d/K74bluetooth

Espero ter ajudado aos desesperados com mais essa solução resolutiva.

Roney Médice

Analista de Sistemas e Bacharel em Direito


Variante do Conficker cria mofo virtual em MP3

Abril 1, 2009

Pesquisadores de universidades norte-americanas revelaram o resultado de um estudo conjunto que confirma a existência de um novo tipo de praga virtual, que não pode ser classificada de vírus nem de cavalo de Troia.

Professores de ciência da computação na Universidade Livre do Oeste da Califórnia batizaram a descoberta de “fungo de computador“, e ela pode estar associada ao vírus Conficker, que deve atacar milhões de computadores nesta quarta-feira (01).

De uma maneira análoga ao que acontecia com os fungos, mofos e bolores que atacavam as fotos em filme e fitas cassete no século passado, o fungo virtual degrada os arquivos de imagem, som e vídeo armazenados no computador. “O problema acontece até mesmo com arquivos de backup que nunca são acessados”, alerta Antonio de Marco, pesquisador adjunto da Universidade Presbiteriana de Michigan, o descobridor da ameaça. “Ninguém pode ficar tranquilo só por ter tudo copiado em DVDs.”

Os cientistas apuraram uma perda média de qualidade de 7% por ano para imagens JPEG, 15% para arquivos TIFF e 4% para áudio MP3. Quanto mais baixo o bitrate do MP3, mais rápida é a deterioração. Outros arquivos atingidos são os vídeos QuickTime MOV, com 14%, seguidos dos AVI em DiVX, com 9%.

Arjun Radhakrishnan, doutor em Ciência da Computação em Stanford, explica que o fungo virtual não tinha sido claramente detectado até agora porque seus efeitos são graduais e insidiosos. “O usuário típico de computador nunca pensou muito sobre esses fenômenos, porque a perda de desempenho do próprio sistema operacional é considerada um fato trivial.” Segundo ele, as pessoas acham normal e compreensível que a música pirateada do Napster em 2000 tenha vocais abafados e percussão indistinta, assim como as imagens pornográficas baixadas da Internet ficam visivelmente menores e mais sujas com o tempo. Arquivos de

Photoshop abrem com as cores inexplicavelmente erradas, escurecem e desbotam. Outros tipos de arquivos perdem seus ícones característicos. Até textos podem se deteriorar, abrindo com os caracteres acentuados trocados. Tudo isso seria uma variedade de sintomas do fungo digital.

O problema pode ser confirmado ao comparar arquivos com cópias salvas em outros computadores há alguns anos, assim como fotos digitais com cópias impressas da época em que elas eram novas, ou gravações de áudio digitais com seus correspondentes em fitas analógicas. “Houve uma degradação notável e progressiva de quase todos esses materiais, e muitos deles poderão não resistir em forma aproveitável até a próxima década”, alerta Bogus McCall, professor de filosofia cibernética da Universidade Cornell.

Ainda não se descobriu uma causa clara para a doença virtual atingir mais alguns computadores e arquivos do que outros, nem o método de transmissão do mal, que parece não ser causado por crackers ou hackers. Aparentemente, existem fatores ambientais.

O que fazer para evitar o fungo eletrônico? Segundo os cientistas, enquanto não surge uma solução comercial em software, a recomendação é fazer pelo menos três cópias diárias de todos seus arquivos e guardá-los em mídias mais antigas e duráveis, como CD-R ou disquete; transcrever todos os vídeos ripados de DVD para a boa e velha fita VHS; enviar todas as suas fotografias para o laboratório para serem copiadas em papel. “É a única maneira garantida de assegurar maior longevidade para os seus dados digitais”, afirma Rockwell.

É, claro, se você leu tudo isso e acreditou, parabéns, você caiu na nossa pegadinha de primeiro de abril.

Roney Médice

Analista de Sistemas e Bacharel em Direito


Apagando o histórico de comandos digitados na shell: bash_history

Março 13, 2009

Quero esclarecer que não estou fazendo apologia para encobrir certas atitudes reprováveis mas, estou indicando uma forma de como apagar os rastros deixados ao digitar comandos na shell (Sistema Linux). Não me pergutem qual seria o motivo para tal ação, apenas estou disponibilizando a informação que, para alguns, podem ter seus motivos para executar tal procedimento.

Toda vez que entramos na shell do linux (console) para executarmos comandos, o linux vai gravando um histórico dentro do arquivo ~/bash.history, funcionamento esse idêntico ao antigo Doskey (Sistema Windows). Isso visa facilitar aos administadores de sistemas, a otimizar o tempo e buscar no histórico, os comandos que são mais executados e evitar perda de tempo para redigitá-los.

Assim, nesse momento, você deve ter em seu arquivo bash_history, todos os comandos que você executou nos ultimos tempos, lógico que depende do tamanho de buffer que esse arquivo irá suportar e armazenar os comandos digitados. Mas vamos ao propósito do artigo.

Para visualizar o conteúdo do history, você pode salvar em arquivo com o comando “cat ~/bash_history > log” (não digite com as aspas) e depois visualize o conteúdo do arquivo log  “cat log” (sem as aspas).

Agora, para apagar o histórico dos comandos, digite “rm ~/bash_history” (sem as aspas) e pronto.  Uma dica para os administradores de sistemas: rode no cron, um script para que de tempo em tempo, seja armazenado o conteúdo do arquivo bash_history em um  arquivo de log para futuras auditorias.

Roney Médice

Analista de Sistemas e Bacharel em Direito.


DNS Reverso no Bind 9.x

Outubro 8, 2008

Recentemente, tive um problema de configuração de DNS Reverso que me impossibilitou o envio de e-mails para determinados clientes, pois o servidor de SMTP (Simple Mail Transfer Protocol) do destinatário requisitava dns reverso para que a comunicação entre os servidores de SMTP fosse estabelecida.

Com isso, achei por bem solidifcar esse conteúdo que pode ser insignificante a primeira vista, mas com certeza algum dia, o adminstrador de rede irá se deparar com essa situação. A configuração no BIND 9.x, não é difícil, basta seguir um roteiro e pronto, ligar para a operadora da banda larga e solicitar um teste de transferência de zonas do master para o slave, que iremos tratar abaixo.

Primeiramente, no arquivo named.conf (/etc/named.conf) da distribuição Suse, edite o arquivo incluindo a zona reversa, respeitando a seguinte lógica para as zonas conforme o bloco de endereçamento de ip:

Observe na tabela abaixo o formato da zona que deve ser configurada, dependendo do bloco associado.

      Bloco                                          Zona

XXX.YYY.ZZZ.0/24              ZZZ.YYY.XXX.in-addr.arpa

XXX.YYY.ZZZ.0/26         0-63.ZZZ.YYY.XXX.in-addr.arpa

XXX.YYY.ZZZ.64/2       64-127.ZZZ.YYY.XXX.in-addr.arpa

XXX.YYY.ZZZ.128/26    128-191.ZZZ.YYY.XXX.in-addr.arpa

XXX.YYY.ZZZ.192/26    192-255.ZZZ.YYY.XXX.in-addr.arpa

 

Atenção na inversão dos octetos onde, XXX.YYY.ZZZ no bloco se transformam em ZZZ.YYY.XXX na zona.

Então, no named.conf, adicione a seguinte linha:

zone “<zona reversa>”  {

           type master;

           file “ZZZ.YYY.XXX.in-addr.arpa.zone”; (exempo para o bloco XXX.YYY.ZZZ.0/24 )

           allow-transfer { ip do provedor autorizado para receber as zonas; };

};

Na distribuição Suse, dentro de /var/lib/named, crie o arquivo ZZZ.YYY.XXX.in-addr.arpa.zone e adicione as informações pertinentes a um arquivo de zone, como SOA, NS, PTR e etc. Não esqueça de colocar o ip reverso, como por exemplo:

5    IN     PTR    exemplo.dominio.com.br.

Salve o arquivo e reinicie o named (service named restart) e teste as configurações com o comando host:

host XXX.YYY.ZZZ.5

A resposta deverá ser XXX.YYY.ZZZ.5 pointer to exemplo.dominio.com.br

 

Roney Médice

Analista de Sistemas e Bacharel em Direito

 


Comentários sobre a distribuição OpenSuse 10.2

Julho 9, 2008

Tive a oportunidade de instalar em meu notebook a distribuição do Linux OpenSuse10.2, e posso dizer que fiquei satisfeito com os recursos que essa distribuição oferece ao seus usuários. Claro que como na “família Windows”, quando atualizamos o sistema operacional, sempre esperamos obter mais recursos que estamos já acostumados. Existem diferenças, é lógico, entre as distribuições e sei que a cada instalação de um novo sistema operacional, tenho que me acostumar com os novos comandos ou parâmetros que diferenciam a cada distribuição linux.

A verdade é que até um usuário “leigo” pode ter em seu computador, o sistema linux instalado. A fase de instalação, para aqueles que não possuem muita habilidade técnica, pode deixar que o assistente de instalação escolha as melhores configurações e faça o trabalho de instalar o linux, pois o processo de instalação do OpenSuse10.2 se assemelha a uma instalação windows, claro que cada um com as suas berrantes diferenças técnicas quanto a estrutura do sistema.

Finalizado a instalação do OpenSuse10.2, pude observar as diferenças dos arquivos nessa distribuição, como por exemplo, o arquivo de configuração das partições do sistema (/etc/fstab). As configurações de inicialização do OpenSuse10.2 estão armazenadas dentro de /etc/rc.d, que dependendo de como o sistema vai ser inicializado (por exemplo, init = 5), será carregado o arquivo de inicialização correspondente. No caso da maioria dos usuários, se o init estiver com parâmetro 5, a distribuição do linux será carregada em modo gráfico, multiusuário e com rede.

Outro fator que me chamou a atenção é o gerenciador de pacotes, o YAST2, de modo gráfico, ele gerencia e coordena os pacotes instalados, as versões novas e tudo referente aos pacotes rpm de seu sistema. Pode usar a instalação de pacotes de modo texto, com o comando SMART, que as vezes, é mais rápido que a opção gráfica.

Contudo, eu que estava acostumado com a distribuição Ubuntu, percebi no OpenSuse10.2 boas mudanças, principalmente no visual e recursos de sistema, trazendo uma melhora na performance dos aplicativos. Mas ainda é cedo para escolher o OpenSuse10.2 como o sistema operacional padrão de meu notebook, até porque, a versão OpenSuse11 já está aí. Agora é baixar e testar.

Roney Médice

Analista de Sistemas e Bacharel em Direito.