Fala agora magrão

29 29UTC Outubro 29UTC 2009

Fui convidado no mês passado para ministrar algoritmos a uma turma do curso de ciência da computação da Unochapecó no Campi de São Lourenço do Oeste. Confesso que de início fiquei meio aflito, mas encarei, e de fato achei uma experiência muito interessante. Agora estou na expectativa de fechar para o próximo semestre também. Como estou utilizando materiais de outros professores não vou disponibilizar nada por momento.


IV Jornada de Ciência e Tecnologia – JOCETEC e II Jornada de Integração das Semanas Acadêmicas do CETEC,

17 17UTC Setembro 17UTC 2009

Fui convidado a palestrar em conjunto com meu colega de trabalho, na IV Jornada de Ciência e Tecnologia – JOCETEC e II Jornada de Integração das Semanas Acadêmicas do CETEC, e o tema foi Monitoração de redes com softwares livres, no evento falamos sobre Cacti e Nagios como ferramentas, fizemos uma instalação básica para demostrar e expomos alguns casos de uso da empresa. Segue o material:

slides

nagios-passo-a-passo


Base Ldap + Domínio Samba

21 21UTC Agosto 21UTC 2009

Recentemente tivemos que criar um novo servidor de LDAP aqui para a empresa, segue os passos utilizados:

Versões  dos pacotes:

CentOS release 5.2 (Final) 2.6.18-92.el5

Nota: Habilitar o repo centos-plus e atualizar o so.

samba-common-3.0.28-1.el5_2.1

samba-client-3.0.28-1.el5_2.1

samba-3.0.28-1.el5_2.1

Para instalar o pacote smbldap-tools-0.9.4-1.el5.rf executar o abaixo:

wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm

Criar o usuário ldap antes de instalar os rpms.

nss_ldap-253-12.el5

python-ldap-2.2.0-2.1

openldap-clients-2.3.27-8.el5_2.4

smbldap-tools-0.9.5-1.el5.rf

openldap-2.3.27-8.el5_2.4

openldap-servers-2.3.27-8.el5_2.4

Não instalar -> cyrus-sasl-ldap-2.1.22-4

php-ldap-5.1.6-20.el5_2.1

openldap-devel-2.3.27-8.el5_2.4

php

apache

phpldapadmin-1.1.0.6.tar.gz

##################

Editar o arquivo /etc/ldap.conf:

host 127.0.0.1

base o=empresa

ssl no

tls_cacertdir /etc/openldap/cacerts

pam_password md5

##################

Criar arquivo /etc/ldap.secret com mode 600 com a senha do manager do ldap.

#################

Editar o arquivo /etc/samba/smb.conf:

workgroup = [nome do domínio]

server string = Samba Server

netbios name = MYSERVER

Comentar a linha:

; passdb backend = tdbsam

Descomentar as linhas:

domain master = yes

domain logons = yes

preferred master = yes

add user script = /usr/sbin/useradd “%u” -n -g users

add group script = /usr/sbin/groupadd “%g”

add machine script = /usr/sbin/useradd -n -c “Workstation (%u)” -M -d /nohome -s /bin/false “%u”

delete user script = /usr/sbin/userdel “%u”

delete user from group script = /usr/sbin/userdel “%u” “%g”

delete group script = /usr/sbin/groupdel “%g”

passdb backend = ldapsam:ldap://127.0.0.1

ldap admin dn = “cn=manager, o=empresa”

ldap group suffix = ou=Group

ldap user suffix = ou=People

ldap machine suffix = ou=Hosts

ldap suffix = o=empresa

ldap ssl= off

idmap uid = 16777216-33554431

idmap gid = 16777216-33554431

wins support = yes

################

Executar o comando smbpasswd -w senha do manager do ldap

Editar o arquivo /etc/smbldap-tools/smbldap_bind.conf:

slaveDN=”cn=manager,o=empresa”

slavePw=”senhadomanager”

masterDN=”cn=manager,o=empresa”

masterPw=”senhadomanager”

###################

Executar os comandos:

cp /etc/openldap/DB_CONFIG.example /var/lib/ldap/DB_CONFIG

chown ldap. /var/lib/ldap/DB_CONFIG

cp /usr/share/doc/samba-3.0.28/LDAP/samba.schema /etc/openldap/schema/

###################

Editar o arquivo /etc/openldap/slapd.conf:

Incluir os schemas adicionais necessários:

include /etc/openldap/schema/samba.schema

suffix “o=empresa”

rootdn “cn=manager,o=empresa”

rootpw {SSHA}KOllLHHyDoeyY0IEdqy18v/BH+4bB2Lt (gerar a senha com o comando slappasswd)

##########################

Editar o arquivo /etc/smbldap-tools/smbldap.conf:

Executar “net getlocalsid” e inserir o SID resultante em SID=

sambaDomain=”nomedodominionosamba”

slaveLDAP=”127.0.0.1″ (alterar para o ip do ldap)

masterLDAP=”127.0.0.1″ (alterar para o ip do ldap)

suffix=”o=empresa

“ldapTLS=”0″

usersdn=”ou=People,o=empresa”

computersdn=”ou=Hosts,o=empresa”

groupsdn=”ou=Groups,o=empresa”

idmapdn=”ou=Idmap,o=empresa”

sambaUnixIdPooldn=”cn=NextFreeUnixId,o=empresa” (depende da estrutura do LDAP)

userLoginShell=”/bin/false”

defaultUserGid=”65535″ (configurar para o grupo primário do usuário padrão)

defaultMaxPasswordAge=”99″ (desabilitar expiração de senhas)

userSmbHome=”"

userProfile=”"

userScript=”%U.bat”

mailDomain=”empresa.com.br”

######################

Executar o comando service ldap start.

######################

Editar o arquivo /etc/nsswitch.conf:

passwd: files ldap

shadow: files ldap

group: files ldap

####################

Descompactar o arquivo phpldapadmin-1.1.0.6.tar.gz na pasta /var/www/html.

####################

Editar o arquivo config.php com os dados do ip do servidor LDAP.

Inserir no arquivo /var/lib/ldap/DB_CONFIG as linhas abaixo:

### INICIO ARQUIVO DB_CONFIG ###

# Define o tamanho do arquivo de cache.

set_cachesize 0 52428800 0

#### Set database flags ####

# Remove automaticamente arquivos de logs.
set_flags DB_LOG_AUTOREMOVE

# Setando valores dos LOGS

set_lg_regionmax 262144
set_lg_max 10485760
set_lg_bsize 2097152
set_lg_dir /var/lib/ldap/
# Increase locks
set_lk_max_locks 3000
set_lk_max_objects 1500
set_lk_max_lockers 1500

### FIM ARQUIVO DB_CONFIG ###

rodar smbldap-populate para popular a base com os atributos necessários para o domínio.

Espero que ajude.


Autenticando usuários no LDAP e mapeando as unidades de rede do antigo servidor samba via sshfs no fedora 10

14 14UTC Abril 14UTC 2009

Estamos começando a migrar as estações dos nossos usuários de Windows para Linux e adivinha uma das primeiras requisições do usuário são os mapeamentos automáticos feitos via samba.

Depois de algumas tentativas frustradas de inserir o linux no domínio como faz com o Windows resolvemos mudar a tática e chegamos a uma receita que a princípio esta funcionando, autenticar no LDAP e buscar as unidades do usuário via sshfs através das informações de grupos que o usuário possui no LDAP.

Criamos um script que busca todos os grupos que o usuário pertence e cria a conexão sshfs com uma unidade no Desktop do usuário, ficando transparente para ele o processo. O processo ficou assim: quando o usuário faz login no micro aparece um dialog pedindo a senha para acessar os recursos de rede, após digitado ele cria os locais por letras e o usuário acessa como se fosse uma pasta.

Uma pena que não encontrei ainda uma forma de recuperar a senha no login que ele faz do Gnome, assim o usuário não precisaria digitar a senha duas vezes.

Segue os passo que utilizei:

####################################################

Passo 1

clicar na barra Sistemas -> Administração -> Autenticação -> Informações do usuário -> Ativar suporte LDAP

BASE-> o=empresa

Servidor -> xxx.xxx.xxx.xxx

Para verificar se funcionou abrir um terminal e testar com id usuario

##############################################

Passo 2

Configurar no seu servidor DNS um CNAME para serarq com o ip do seu antigo servidor samba

##############################################

Passo 3

Instalar na estação o fuse.sshfs ou sshfs e o dialog e o Xdialog

fazer update do sistema todo

#########################################################

Passo 4

criar o script scritp.desktop dentro de /usr/share/gnome/autostart/  com o seguinte conteúdo:

[Desktop Entry]

Encoding=UTF-8

Name=Map user script

Comment[br]=MAP user scritp

Icon=bluetooth

Exec= gnome-terminal /usr/sbin/mapeia_rede.sh

Terminal=false

Type=Application

Categories=

OnlyShowIn=GNOME;

############################################################

Passo 5

criar o script chamado mapeia_rede.sh em /usr/sbin/  com o seguinte conteudo:


Reportagem sobre CakePHP revista TIdigital

8 08UTC Abril 08UTC 2009
Foi publicada na segunda edição da revista TIdigital uma reportagem sobre o framework CakePHP.
A Equipe da revista fez uma entrevista com John David Anderson (um dos criadores do cake-php), e entrevistou alguns profissionais que utilizam a ferramenta para expor as suas opiniões sobre o framework. Dentre eles encontra-se: Elton Luís Minetto, Tulio Vitor Machado Faria, Oberaldo Büll Junior, João José Carvalho Pedrini.
Nossas participações foram modestas mas o formato da revista ficou muito bom.
O PDF da reportagem está disponível neste link

Especialização em Software Livre

20 20UTC Fevereiro 20UTC 2009

Após um ano de dedicação e estudo, finalmente a confirmação do meu orientador Professor Luiz Otavio Botelho Lento

Agora sou especialista em Gestão e implantação de software livre pela Fundação de Apoio á Educação, Pesquisa e Extensão da UNISUL, FAEPESUL;

Como trabalho de conclusão escrevi o seguinte artigo: SOLUÇÕES DE SOFTWARE LIVRE PARA MONITORAÇÃO DE REDES, onde falo sobre duas ferramentas muito bacanas que utilizamos, o Nagios e o Cacti. O artigo está disponível aqui


Script para detecção de Erros nos Switches

8 08UTC Dezembro 08UTC 2008

Para otimização da rede e melhoria na monitoração proativa, criamos um shell script que captura da MIB dos switchs da 3Com e retorna quais portas estão com problema, assim se você tiver uma placa de rede com problema ligada a um switch gerenciável da 3com é possível descobrir o erro sem precisar acessar a interface WEB do switch. Pode ser útil para quem administra redes com muitos equipamentos como no nosso caso e não tem tempo para ficar olhando de equipamento em equipamento.
Funciona bem com os switches de modelo:
- 3c17300: neste modelo ele captura os erros de CRC Error e colisões no mesmo trap.
- 3c17300A: se o firmware estiver atualizado captura só os CRC Errors.
O código fonte do plugin esta aqui


Shell Script Profissional

27 27UTC Novembro 27UTC 2008

Recentemente adquiri o livro do Aurélio Marinho Jargas, shell script profissional, confesso que ainda não consegui ler por inteiro mas fica aqui meu elogio ao Aurélio pela qualidade do material e principalmente pelo incentivo ao uso de boas praticas de programação tão raras entre os administradores de redes.

hehehe eu tbm não comentava nada até então


Evento Frameworks de Desenvolvimento Web com PHP

6 06UTC Agosto 06UTC 2007

Neste sábado, dia 04 de agosto, estive participando de um evento em São Paulo, organizado pela Tempo Real Eventos. O evento tratou de Frameworks de Desenvolvimento Web com PHP, onde tive a oportunidade de atuar como palestrante compartilhando com os presentes algumas das funcionalidades que o framework Symfony implementa.
Gostaria de agradecer primeiramente ao pessoal da Tempo Real pela oportunidade que me foi concedida e aos participantes pela presença e significante troca de conhecimento. Espero que tenha ajudado de alguma forma, deixo aqui os códigos e a apresentação se alguém tiver interesse.


Asus A3500N +Ubuntu +Dor de Cabeça

15 15UTC Junho 15UTC 2007

Tivemos um pequeno problema tentando passar a imagem para um projetor multimídia, de um notebook Asus A3500N com Ubuntu 7.04 Feisty Fawn, depois de uma boa googlada e grande auxilio do meu colega de trabalho Sérgio Tshá, conseguimos fazer funcionar.

Para começar faça o download do pacote ACPI4ASUS
Decompacte o arquivo e execute com o comando Make, depois sudo Make install.
Adicionar dentro do arquivo /etc/modules a linha: asus_acpi, para ser chamado pelo Kernel.
Agora vamos criar um alias para facilitar a execução.
Dentro do .bashrc do usuário verificar se as linhas a seguir não estão comentadas.

if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi

# enable color support of ls and also add handy aliases
if [ "$TERM" != "dumb" ]; then
eval “`dircolors -b`”
alias ls=’ls –color=auto’
#alias dir=’ls –color=auto –format=vertical’
#alias vdir=’ls –color=auto –format=long’
fi
Depois adicionar no arquivo .bash_aliases a seguinte linhas:
alias chdisplay=”echo 3 > /proc/acpi/asus/disp”
Finalmente para executar é só rodar chdisplay tanto para ativar quanto para desativar, lembro que são três os estados de execução.

Sei que não ficou muito elegante mas funcionou, espero que ajude.