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 2009Fui 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:
Base Ldap + Domínio Samba
21 21UTC agosto 21UTC 2009Recentemente 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 2009Estamos 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 2009Especialização em Software Livre
20 20UTC fevereiro 20UTC 2009Apó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 2008Para 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 2008Recentemente 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 2007Neste 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 2007Tivemos 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.
Escrito por jhony