Archive for the ‘ubuntu’ Category

Bonjour!

Sexta-feira, Agosto 15th, 2008

O DebConf é ótimo para receber dicas interessantes vindas dos participantes, hoje de madrugada por exemplo eu conheci o Bonjour, o qual é uma implementação do ZeroConf feito pela Apple para o iChat. O mais interessante é que esta implementação é suportada pelo Pidgin, estranho não? Nem tanto!

Veja, ele funciona da seguinte forma, por baixo ele usa o ZeroConf e XMPP para permitir que 2 clientes iChat-like possam se comunicar, sem configuração, sem servidor, sem registro de usuário, você precisa apenas digitar o seu nome e sobrenome e todo o resto é feito por eles.

Bom se você quer testar o bonjour, primeiro você deve criar uma conta Bonjour no Pidgin e habilitá-la, sua workstation após este procedimento vai começar a se anunciar na rede local via avahi-daemon que é a implementação ZeroConf utilizada no debian e ubuntu por exemplo, os outros computadores da rede local também fazem anúncios e escutam anúncios, desta forma, após alguns segundos todos que tem uma conta compatível com o bonjour (e para isto todos devem ter suas implementações ZeroConf rodando) vão ser anunciados no Pidgin ou no cliente IM utilizado, normalmente estes usuários serão apresentados em um grupo chamado “Bonjour”.

Ele usa as portas 5297 TCP, 5298 TCP/UDP, 5353 UDP e estas precisam estar liberadas para que a sua workstation possa se comunicar com os demais clientes. Um detalhe importante, você não precisa adicionar ninguém, basta aguardar e em poucos segundos sua lista  vai crescendo de acordo com o número de pessoas que estejam utilizando o Bonjour em sua rede.

E agora, está instalado, funcionando, quais são as vantagens?
Pense o seguinte, você tem um IM disponível, apenas em rede interna, simples, rápido sem necessidade de implementar um serviço como o OpenFire, Ejabberd, Jabberd, e isto a um custo baixíssimo, claro que esta solução não utiliza todos os recursos do protocolo XMPP, mas funciona de forma estável, sendo uma alternativa aos im’s tradicionais (pelo menos na rede interna).

Agradeço ao Léo Serra por ter dado a dica ;)

Fike, eu gostei tanto da ferramenta que eu tinha que fazer um comentário de leve aqui no meu blog, mas eu sei que tu está fazendo um post mais detalhado, ficamos aguardando ;)

Referências:
http://en.wikipedia.org/wiki/Bonjour_(software)
http://psi-im.org/wiki/Bonjour
http://developer.apple.com/networking/bonjour/index.html

[]’s
Guto

você precisa criar usuários com senha, mas o passwd ou smbpasswd são interativos, como resolvo isto?

Sexta-feira, Agosto 8th, 2008

Vamos supor que tenham te passado uma lista grande de usuários para serem criados no sistema, solicitaram que você o faça cadastrando a senha minhasenha, onde cada usuário ao se logar em sua estação windows, em nosso PDC samba, irá trocá-la no primeiro logon.

olhando a lista passada para o sysadmin

gutocarvalho@defiant:~$ cat lista.txt

fulano.sobrenome
beltrano.sobrenome
ciclano.sobrenome

Para criar usuários no samba, caso você use o backend tbsam, falando de forma simplificanda você precisa fazer dois procedimentos:

primeiro precisamos criar o usuário no sistema, o procedimento abaixo é suficiente.

gutocarvalho@defiant:~$ sudo su

root@defiant:~# useradd fulano.sobrenome -s /bin/false

agora vamos automatizar a coisa, vamos fazer um simples laço (for) usando o bash

root@defiant:~# for i in `cat lista.txt`;do useradd $i -s /bin/false;done

pronto, agora o próximo comando é interativo, ou seja o usuário precisa informar a senha e confirmá-la.

root@defiant:~#  smbpasswd -a fulano.sobrenome
Digite a nova senha UNIX:
Redigite a nova senha UNIX:
passwd: senha  atualizada com sucesso.

como isso é um procedimento cansativo, vamos automatizá-lo também.

Apresento a você, caso ainda não conheça, o EXPECT, que é uma ferramenta UNIX para automação e testes que trabalha com comandos interativos, tais quais, telnet, ftp, ssh, passwd, smbpasswd, etc.

Veja mais informações sobre o expect em http://en.wikipedia.org/wiki/Expect

primeira vamos instalar o expect

root@defiant:~# apt-get install expect

agora vamos criar um script expect chamado expPasswd com o conteúdo abaixo

#!/usr/bin/expect

# autor: guto carvalho
# e-mail: guto@gutocarvalho.net / gutocarvalho@gmail.com
# licença: GNU GPL v2
# descricao: script para setar a senha de usuarios em aplicacoes interativas

# para usar digite: expPasswd usuario senha

spawn smbpasswd -a [lindex $argv 0]
set password [lindex $argv 1]
expect “password:”
send “$password\r”
expect “password:”
send “$password\r”
expect eof

salve o arquivo, e vamos a segunda parte da automatização.

root@defiant:~# export LANG=C

ajustamos a variável de linguagem, pois o expect espera receber a informação password: e depois disto ele vai executar uma ação, se não fizermos o ajuste na variável e se você por acaso utilizar o Ubuntu em Português Tupiniquim, o prompt será diferente, algo como:

root@defiant:~# smbpasswd -a fulano.sobrenone

Digite a nova senha UNIX:
Redigite a nova senha UNIX:
passwd: senha  atualizada com sucesso.

ao invés de

root@defiant:~# export LANG=C
root@defiant:~# smbpasswd -a fulano.sobrenone

Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

bom, entendeu né, variável setada, evitando problemas, agora vamos ao comando.

root@defiant:~# for i in `cat lista.txt`;do expect expPasswd $i minhasenha;sleep 5;done

a saída será algo assim..

spawn smbpasswd -a fulano.sobrenome
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
spawn smbpasswd -a beltrano.sobrenome
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
spawn smbpasswd -a ciclano.sobrenome
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

pronto, missão passada, missão automatizada, missão cumprida!

Este post esta disponível na wiki de forma mais organizada.
http://gutocarvalho.net/mediawiki/index.php/Criando_usuarios_e_setando_senha_com_o_Expect

na próxima não vai precisar suar :)

Continuando o jogo, como você faria em sua linguagem?

Mostra ai, comente!

;)

[]’s
Guto

dica: convertendo uppercase to lowercase

Quinta-feira, Agosto 7th, 2008

Supondo que você tem um arquivo chamado usuarios.txt com texto em caixa alta e quer deixá-lo em caixa baixa, vamos as diversas opções para convertê-lo

via sed

sed ‘y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/’ usuarios.txt

via tr

cat usuarios.txt | tr ‘[A-Z]‘ ‘[a-z]‘

via awk

cat usuarios.txt | awk ‘{print tolower($1)}’

No caso do SED você pode incrementá-lo ainda mais colocando ç, é, í, ú, ã etc…

E ai, quem tem mais alguma dica, seja em perl, python, ruby, php, lua, java, c, etc… que tal aumentarmos as opções ?! Comente ai!

[]’s
Guto

alternativa ao bug do squashfs-tools do ubuntu hardy, ainda em aberto…

Terça-feira, Agosto 5th, 2008

Já fiz um post aqui falando que o squashfs-tools do ubuntu hardy está com problemas.

Bom na dúvida recompilei um kernel 2.6.24.3 com o último patch squashfs 3.3 e tentei gerar a imagem, e nada, continuou com o problema, usei o 2.6.24.3 pois o patch do squashfs 3.3 não funciona no 2.6.26.1, e o patch do LZMA para squashfs também só é compatível com o kernel 2.6.24.3, por fim nem  apliquei o patch do lzma pois queria fazer o teste por eliminação, primeiro squashfs puro, depois com patch lzma.

Bom vamos ao resumo da história, infelizmente não funcionou do mesmo jeito, o problema realmente está no squashfs-tools, eu até compilei o squashfs-tools que vem junto com o patch do squashfs 3.3, mesmo assim deu hang em 70% da criação da imagem.

Esse BUG já foi resolvido no debian, eis que baixei o pacote squashfs-tools do debian e voi-lá, funcionou!

Atalho para o pacote do debian, instala sem problemas no hardy.
http://ftp.de.debian.org/debian/pool/main/s/squashfs/squashfs-tools_3.3-7_i386.deb

Agora posso remasterizar o hardy tranquilo, a vida fica mais simples, paro de fritar meu processador,que chegou a incríveis 90 graus centigrados com o squashfs-tools zuado, e os hangs na criação da imagem ficam para outra encarnação.

Bugs relacionados:
https://bugs.launchpad.net/ubuntu/+source/squashfs/+bug/222700
https://bugs.launchpad.net/ubuntu/+source/squashfs/+bug/200778
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=455589

ubuntu security update: openldap (usn-634-1)

Terça-feira, Agosto 5th, 2008

A bola da vez é o openLDAP, atualize!

===========================================================
Ubuntu Security Notice USN-634-1            August 01, 2008
openldap2.2, openldap2.3 vulnerability
CVE-2008-2952
===========================================================

A security issue affects the following Ubuntu releases:

Ubuntu 6.06 LTS
Ubuntu 7.04
Ubuntu 7.10
Ubuntu 8.04 LTS

This advisory also applies to the corresponding versions of
Kubuntu, Edubuntu, and Xubuntu.

The problem can be corrected by upgrading your system to the
following package versions:

Ubuntu 6.06 LTS:
slapd                           2.2.26-5ubuntu2.8

Ubuntu 7.04:
slapd                           2.3.30-2ubuntu0.3

Ubuntu 7.10:
slapd                           2.3.35-1ubuntu0.3

Ubuntu 8.04 LTS:
slapd                           2.4.9-0ubuntu0.8.04.1

In general, a standard system upgrade is sufficient to effect the
necessary changes.

Details follow:

Cameron Hotchkies discovered that OpenLDAP did not correctly handle
certain ASN.1 BER data.  A remote attacker could send a specially crafted
packet and crash slapd, leading to a denial of service.

Mais informações:
http://www.ubuntu.com/usn/usn-634-1
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-2952

[]’s
Guto

Hoje é dia do sysAdmin!

Sexta-feira, Julho 25th, 2008

Parabéns para todos nós :)

Somos aqueles que mantém os sistemas rodando 99,9% do tempo, mas somos sempre lembrados pelo 0,1 do tempo que algo fica fora, acontece, lhe asseguro que são quase sempre, manutenções programadas :P

Entre no site e entenda um pouco mais sobre esta complexa e ética profissão!

http://www.sysadminday.com/

Veja as fotos no site, este é nosso ambiente de trabalho.

datacenter
datacenter
cabeamento
cabeamento
sysadmins em seu habitat
sysadmins em seu habitat

desktop de um sysadmin

desktop de um sysadmin

Você pode não perceber, mas estamos sempre por aqui, cuidando para que tudo continue funcionando bem.

Abraços,
Guto Carvalho

5 Gadgets populares que rodam linux

Quarta-feira, Julho 23rd, 2008

Levantamento interessante sobre gadgets comerciais que podem ser hackeados para rodar linux.

http://www.osnews.com/story/20084/5_Most_Popular_Linux-Hackable_Gadgets

[]’s
Guto

Drizzle, um fork do MySQL para aplicações web….

Quarta-feira, Julho 23rd, 2008

Funcionários do MYSQL anunciaram um fork do MYSQL, seu nome é Drizzle. A explicação para este fork é que quando a SUN adquiriu o MYSQL ela anunciou que iria focar seu trabalho em desenvolvimento de um MYSQL corporativo, enterprise, específico para aplições de missão crítica, neste ponto podemos entender que então todos esperavam que o MYSQL se tornasse maior e mais pesado, que é o que tem acontecido.

Mas existiam aqueles que esperavam ainda ver um MYSQL menor, leve, rápido, sem todas aquelas inúmeras features e melhorias implementadas após a versão 4.1, estas pessoas pensavam em tirar todas estas implementações e focar em um MYSQL para aplicações web, simples, rápido e eficiente.

Segundo Brian Aker, diretor de arquitetura do MYSQL na SUN, no Drizzle as Stored Procedures, Views, Triggers, Query Cache, e mais algumas features serão deixadas de lado.

Seu foco será:

1) Aplicações web
2) Cloud components
3) Databases sem lógica de negócios (ex: stored procedures).
4) Arquitetura Multi-Core

Aker disse ainda que o Drizzle será um projeto totalmente independente e genuinamente open source, ele será feito fora da infra-estrutura da SUN e será codificado com licença GPLv2.  Os desenvolvedores afirmaram que estarão fazendo um esforço para utilizar bibliotecas open source onde for possível.

Acesse o projeto
https://launchpad.net/drizzle

Referências:
http://blogs.the451group.com/opensource/2008/07/23/891/
http://www.tuxmachines.org/node/28900

[]’s
Guto

console: scripts para fazer backup de bancos pgsql e mysql

Quarta-feira, Julho 23rd, 2008

Compartilhando!

Os scripts fazem dump banco a banco e dump all.

http://gutocarvalho.net/mediawiki/index.php/Backup_do_MYSQL

http://gutocarvalho.net/mediawiki/index.php/Backup_do_PGSQL

[]’s
Guto

console: rsync + ssh em porta diferente da 22

Quarta-feira, Julho 23rd, 2008

Está se descabelando para fazer um rsync + ssh em um servidor onde porta do ssh é diferente da 22?

Alguns métodos possíveis…

rsync -avz –rsh=’ssh -p 2222′ /diretorio/de/origem usuario@host:/diretorio/de/destino/

ou

rsync -avz -e ’ssh -p 2222′ /diretorio/de/origem usuario@host:/diretorio/de/destino/

[]’s
Guto


Bad Behavior bloqueou 343 tentativas nos últimos 7 dias.