Samba 4 versão estável lançada!

Um dos posts mais visualizados desse blog é o tutorial de instalação do Samba 4, assim sendo, fico feliz em anunciar que desde o dia 11 de dezembro foi lançada sua versão final.

Não li ainda o tutorial original para saber se o meu ainda continua válido, mas para quem quer implementar o Samba4 aconselho verificar o original.

http://wiki.samba.org/index.php/Samba4/HOWTO

nesse link temos todas as mudanças assim como histórico do projeto até agora.

http://www.samba.org/samba/history/samba-4.0.0.html

Instalando Linux em HD’s com mais de 2TB

Recentemente atualizamos o nosso server de backup aqui da empresa, antes o mesmo tinha um humilde Hd de 500gb, e esses dias compramos 2Hd’s de 3TB para substituí-lo.

Tudo correndo uma maravilha, deixamos o mesmo em Raid-1 instalação numa boa, só que na hora do sistema de inicialização ser instalado (grub) dava erro. Após várias tentativas descobrimos no google que para instalação do linux em Hd’s que são maiores que 2TB é obrigatório o uso de uma partição de boot.

A partição de boot pode ser bem pequena, 30k já serve, mas criamos d 1mb conforme padrão que dizem que será adotado no futuro ( link do wikipédia abaixo)

Isso ocorre porque ao usar um HD com mais de 2TB, ao formatar ele, ele automaticamente usa uma tabela de partição chamada GPT (GUID partition table),e como o grub2 não consegue trabalhar com esse tipo de tabela de partição, ela precisa obrigatóriamente de uma partição de boot.

Referências:
http://www.shuvoovuhs.com/linux/grub-installation-issue-with-2-tb-hdd-gpt-requires-bios-boot-partition/

http://en.wikipedia.org/wiki/BIOS_Boot_partition

LPI parte 5 – Mudança de niveis(runlevels) e shutdown ou reboot.

Fazia tempo que não escrevia nada para o blog, e depois que me certifiquei acabei ficando com preguiça de ficar escrevendo, mas hoje resolvi continuar escrevendo sobre os tópicos do programa LPI, primeiro porque é uma forma de melhorar minha redação e segundo, acredito que terá alguém que precisará do que estou escrevendo hoje, assim como precisei na época em que estudei.

Para entender legal o que é um runlevel é interessante entender o que um computador passa desde que é ligado, até estar pronto para uso, no post sobre o processo de boot, que ficou muito técnico, fala somente sobre o primeiro passo, que basicamente consiste em reconhecimento básico dos discos, localização do S.O. para que o mesmo seja carregado.
Após esta etapa, o kernel do linux chama o primeiro programa,que é o principal que inicia todos os outros, o nome dele é init. ( esse init é apontado no grub, em uma linha chamada initrd )

em resumo, o init é o que chamados de processo pai, porque é por ele todos os outros programas são chamados. podemos ver isso em um exemplo prático digitando o comando “pstree” no console do linux:

alan@hellmobile:~$ pstree
init─┬─GoogleTalkPlugi───5*[{GoogleTalkPlugi}]
     ├─NetworkManager─┬─2*[dhclient]
     │                └─2*[{NetworkManager}]
     ├─VBoxSVC───7*[{VBoxSVC}]
     ├─VBoxXPCOMIPCD
     ├─acpid
     ├─akonadi_control─┬─4*[akonadi_agent_l───{akonadi_agent_l}]
     │                 ├─akonadi_maildis
     │                 ├─akonadi_mailfil
     │                 ├─akonadi_nepomuk───{akonadi_nepomuk}
     │                 ├─akonadiserver─┬─mysqld───29*[{mysqld}]
     │                 │               └─15*[{akonadiserver}]
     │                 └─3*[{akonadi_control}]
     ├─akonaditray
     ├─atd

após o init ser chamado pelo grub, ele carrega os programas necessários para que o computador fique pronto para uso, o nome disso é runlevel( ou em português, nível de execução) foram definidos 7 runlevels padrão, e podem ser configurados nos subdiretorios que ficam no /etc, rc0.d, rc1.d, rc2.d, rc3.d, rc4.d, rc5.d e rc6.d

onde o rc0 é usado para desligamento do sistema, e o rc6 faz o reboot, ou reinicialização.
todos os outros são modos de trabalho onde por convenção, o rc1 é modo monousuário sem rede o rc2 é o modo multiusuário ( do debian é o modo padrão, no redhat é o rc5 )

para sabermos em qual runlevel estamos no momento basta digitar o comando “runlevel”

para ir para algum runlevel especifico, desligar ou rebootar o sistema basta usar o comando “init”, por exemplo:

“init 0” → desliga o computador ( tem o mesmo efeito do comando halt, e shutdown -h )
“init 6” → reinicia o computador ( tem o mesmo efeito do comando reboot e shutdown -r )

“init 1” → sai do modo multiusuário e entra no modo monousuário.( geralmente esse modo é usado pelos admins para manutenção, atualizações etc)

se analisarmos o conteudo desses diretórios, iremos encontrar diversos links apontando para /etc/init.d/ com a seguinte nomeclatura: S16openvpn e K02nimbus por exemplo:

o que o init faz, ele pega todos os links que começam por K e vai encerrando os programas de acordo com o numero na sequencia. e os que tem S no começo serão iniciados.

segue exemplo do diretório rc0.d:

root@someserver:~# ls /etc/rc0.d/
K01php-fastcgi K02atd K02fw K02lvsdr.sh K02nimbus K02portmap K02urandom K02zabbix-agentd K03nscd K03slapd K06bind9 K08rsyslog K10nfs-common K11networking K14halt
K01php-fpm K02corosync K02gfs2-tools K02memcached K02openbsd-inetd K02stor_agent K02vvagent K03cman K03nslcd K04mysql-ndb K07sendsigs K09o2cb K10rpcbind K12umountfs README
K02apachectl K02exim4 K02ipmievd K02nginx K02openvpn K02umountiscsi.sh K02winbind K03mysql K03open-iscsi K05mysql-ndb-mgm K08ocfs2 K09umountnfs.sh K11hwclock.sh K13umountroot

como falei acima, o nivel 0 executa o desligamento do sistema, então ele irá terminar todos os programas listados acima com K no começo.

Nós podemos manipular esses diretórios de duas formas, a primeira seria manualmente, removendo os links que não queremos com o comando “rm”, e criando links no diretório usando o comando “ln -s”, e a segunda, mais pratica, usando o comando update-rc.d .

exemplo de como são os links:

root@someserver:~# ls -lah /etc/rc2.d/
total 20K
drwxr-xr-x 2 root root 4.0K Nov 8 19:14 .
drwxr-xr-x 97 root root 12K Nov 9 11:22 ..
lrwxrwxrwx 1 root root 16 Sep 27 11:53 K02nimbus -> ../init.d/nimbus
lrwxrwxrwx 1 root root 12 Mar 5 2012 S01fw -> ../init.d/fw
lrwxrwxrwx 1 root root 14 Nov 8 19:12 S01motd -> ../init.d/motd
lrwxrwxrwx 1 root root 20 Oct 26 2011 S01stor_agent -> ../init.d/stor_agent
lrwxrwxrwx 1 root root 17 Nov 7 17:12 S01vvagent -> ../init.d/vvagent
lrwxrwxrwx 1 root root 20 Nov 8 19:10 S03open-iscsi -> ../init.d/open-iscsi
lrwxrwxrwx 1 root root 14 Nov 8 19:10 S09o2cb -> ../init.d/o2cb
lrwxrwxrwx 1 root root 17 Nov 8 19:12 S12rpcbind -> ../init.d/rpcbind
lrwxrwxrwx 1 root root 20 Nov 8 19:12 S13nfs-common -> ../init.d/nfs-common

o comando upadate-rc.d no debian é responsavel por criar/remover esses scripts sem que precisemos fazer isso manualmente, a sintaxe dele é a seguinte:

 root@hell1:~# update-rc.d
update-rc.d: using dependency based boot sequencing
update-rc.d: error: not enough arguments
usage: update-rc.d [-n] [-f] <basename> remove
 update-rc.d [-n] <basename> defaults [NN | SS KK]
 update-rc.d [-n] <basename> start|stop NN runlvl [runlvl] [...] .
 update-rc.d [-n] <basename> disable|enable [S|2|3|4|5]
 -n: not really
 -f: force The disable|enable API is not stable and might change in the future.

Como mostrado no help a sintaxe “update-rc.d apache2 defaults” o basename é o nome do programa que está em “/etc/init.d”. Dessa forma, o programa criará links de inicio em todos os runlevels, e links de termino no rc6 e rc0 ( por motivos óbvios )

Um outro exemplo util de manipulação desses scripts seria pegar um programa baixado de algum lugar e querer que ele rode automaticamente no boot, podemos pegar e colocar ele dentro de /etc/init.d e criar os links como visto acima, ou usar outro comando de manipulação, no caso o “update-rc.d-insserv”

Esse comando já adiciona o programa no /etc/init.d e já cria os links no runlevel, poupando muito trabalho.

no mundo Red-hat e derivados temos o “chkconfig”, que faz tudo o que o update-rc.d e o update-rc.d-insserv fazem

Usando o Vim/vi

O programa Vim é hoje usado na maioria das distribuições linux para edição de textos em linha de comando. Ele é baseado no programa Vi, editor de texto padrão usado nos Unix, tanto que o significado dele é VI Improved. Hoje irei falar um pouco sobre seu funcionamento, e algumas dicas para auxiliar no seu uso.

O VI foi criado em uma época em que não existia interface gráfica e mouse para funções como Selecionar,editar,gravar arquivos por exemplo… com isso, ele possui basicamente dois modos de operação: um modo de comandos, e outro de inserção.

No modo de Comandos, você não consegue alterar os textos e passa comandos pré-definido nas teclas do teclado para fazer alguma função ( no modo gráfico seria o equivalente a clicar nos menus para efetuar alguma operação, como salvar o arquivo, procurar uma string, etc)

Ao chamar o Vim pelo console sem nenhum arquivo aparece a seguinte tela:

tela inicial do Vim

A primeira coisa que devemos aprender é como entrar e sair do modo de inserção, para entrar usamos a tecla “i”, o que nos possibilita digitar textos apagar etc, e para sair do modo de inserção usamos a tecla “ESC”, também podemos entrar no modo de inserção de outras formas, como por exemplo usando a tecla “o” que irá inserir uma nova linha abaixo do cursor e entrará no modo de inserção.

Os comandos mais importantes que uso sempre no Vim vou listar abaixo ( sempre no modo de comandos)

:w  <filename>  ——> faz a gravação do arquivo sendo editado em disco, se quiser definir um nome para o arquivo só colocar o nome na frente do “w

:q    ——-> sai do vim  ( ele não permite que vc saia se efetuou alguma alteração sem salvar )

esses comandos também podem ser combinados, e também se colocar o caractere ! na frente serve  para forçar a operação como em :wq!

:wq  ou : x  —–> grava e sai do vim

/string  ——-> o barra é usado para buscas no texto ( no caso irá buscar pelo texto “string”)

G ——-> G maiúsculo ou shift+g, serve para levar o cursor até a última linha do arquivo.

:nu ——> mostra o total de linhas no arquivo

u ——-> desfaz a última alteração

x ——-> apaga o caracter sobre o cursor

dd ——> apaga toda a linha

no modo de comandos, não sendo comandos de edição diretos, aparecerá no canto inferior da tela o comando digitado

Uma curiosidade são as teclas de movimentação do cursor, ( o vi tinha sido idealizado para funcionar em teclados que não possuíam setas) então a movimentação é feita no modo de comandos usando as teclas:

cima = k  , baixo = j , esquerda= h , direita = l

Existem também recursos de substituição avançados como:

:1,$  s/old/new/g 

esse comando acima faz uma busca da primeira linha até o fim do arquivo ” 1,$ ” o “old” é a string que será substituída e o “new” é pelo que substituirá

essa sintaxe é feita com base no comando sed do linux.

Existem muitos comandos para o vim, que auxiliam a ter uma agilidade ao utilizar este editor, customizar sua interface etc, esses comandos podem ser verificados acessando o manual online dele pelo comando :help ou mesmo acessando paginas na internet, como http://www.cs.fsu.edu/general/vimanual.html

Só para se ter uma ideia, muitos programadores Unix utilizam o Vi como suíte de programação, devido ao nível de prática que estes alcançaram com esta ferramenta.

Para quem está começando a aprender linux (principalmente administração de sistemas), recomendo fortemente evitar editores gráficos e procurar utilizar o vim, pois a dificuldade encontrada inicialmente, será superada pela praticidade de uso dele.

Palestra sobre inteligência

Aproveitando o embalo do meu ultimo post, que foi sobre mapas mentais, lembrei de uma palestra sensacional que tinha visto sobre inteligência, com o Professor e Neuro-Pedagogo Pierluigi Piazzi, onde ele demonstra como funciona o processo de aprendizado, e mostra como nosso sistema de ensino atualmente é uma merda…

A palestra está divida em 8 partes no youtube, para continuar assistindo clique acima ^ procure as outras partes nos vídeos relacionados.

Mapas Mentais

Acredito que este post está bem atrasado, mas antes tarde do que nunca🙂.
        Normalmente ao estudarmos para algum objetivo( pode ser prova de certificação, algum projeto que exija algum conhecimento especifico, ou mesmo por hobby ) seguimos uma linha de raciocínio linear. Esse modo de estudo funciona muito bem quando estamos vendo algo simples, ou lendo um livro por exemplo. O problema começa quando temos que trabalhar com vários assuntos distintos ao mesmo tempo, com áreas correlatas, eu mesmo sempre me atrapalhei nos meus estudos pois estava vendo assunto X, mas esse depende de Y e Z, aí ia estudar o Y e acabava perdendo o foco do X.
        Antes de começar a estudar, seja qual for o Assunto, é interessante ter uma visão geral do assunto abordado, para não se perder, ou desviar daquilo que está estudando. Quando comecei a estudar para a certificação LPI-1, percebi que a maioria dos métodos que são ensinados, trabalham em cima de mapas mentais. Eis aí que surge a pergunta, o que é um mapa mental?

Segundo a Wikipédia:

Mapa mental, ou mapa da mente é o nome dado para um tipo de diagrama, sistematizado pelo inglês Tony Buzan, voltado para a gestão de informações, de conhecimento e de capital intelectual; para a compreensão e solução de problemas; na memorização e aprendizado; na criação de manuais, livros e palestras; como ferramenta de brainstorming (tempestade de ideias); e no auxílio da gestão estratégica de uma empresa ou negócio.
Traduzindo em miúdos:
é um desenho ( como uma árvore genealógica, ou uma estrutura de rede) que nos auxilia a enxergar todas as partes que compõem determinado assunto, com o objetivo visualizarmos o todo.
Como exemplo segue o mapa que fiz para meus estudos da LPI-2:
Mapa Mental LPI-2
       Como convenção, colocamos o assunto principal ( ou o objetivo, como no meu caso) no centro do diagrama, e vamos desmembrando os assuntos que estão co-relacionados diretamente com esse objetivo principal. As vantagens obtidas através desta abordagem é que conseguimos focar em tudo, e em alguma parte específica. No exemplo acima, a forma como priorizei determinados assuntos ( que possuem maior peso na LPI) foi colocando a numeração correspondente ao peso do assunto para dar maior ênfase aquele item, e a medida que terminava de estudar determinado assunto marcava um “V” e o deixava da cor verde, para quando voltar a estudar não ficar revendo a mesma coisa.
        Dessa forma consegui ver todo o conteúdo da segunda prova e ainda revisar o mesmo ( coisa que em condições normais de estudo não conseguiria fazer, devido minha facilidade de dispersão😛 ).

Instalando o FreeBSD

Sou usuário de Linux já há algum tempo, mas quando falamos em servidores, nem sempre o pinguim é a melhor solução para algumas necessidades. Dito isto, tenho visto alguns reviews sobre sistemas Unix, como FreeBSD, Solaris e comparações com os proprietários, como o AIX da IBM e o HP-UX ( esses com mais difícil acesso por só rodarem em conjunto com hardware dos fabricantes), também tenho discutido com um BSD-admin que está me encorajando a usar o sistema .

Abaixo um Screencast muito bom que ensina a instalação básica do sistema, pra auxiliar quem quer adentrar por essas aguas.

video original do site http://blog.bibliotecaunix.org/?p=217

Existem soluções bem bacanas e estruturadas criadas em cima de sistemas BSD, dentre elas destaque para o FreeNAS ( sistema de Storage ) e PFsense ( firewall, gateway, VPN ) que pretendo me aprofundar em um futuro próximo.

Instalação do SAMBA 4

Este tutorial tem como objetivo descrever passo-a-passo a instalação do Samba 4, Baseado documento original em inglês.
A instalação ocorre “quase” exatamente conforme descrito na wiki oficial do SAMBA ( levando em consideração como executei a receita )
Já efetuei a instalação em um sistema Fedora e no Debian, este último sendo a instalação mais recente.http://wiki.samba.org/index.php/Samba4/HOWTO#Step_1:_Download_Samba4

PASSO 1: DOWNLOAD DO SAMBA 4

Optei por fazer o download da versão mais recente em desenvolvimento, para isso é necessário sincronizar com os sources do projeto, no caso utilizei a ferramenta git.
Caso não tenha o comando git ( não vem padrão no Centos por exemplo )
Adicione o repositório EPEL com o comando:
E instale o mesmo:
# yum install git.i386
para Debian like:
#apt-get install git
faça o sincronismo dos sources mais recentes do projeto com o comando:
# git clone git://git.samba.org/samba.git samba-master; cd samba-master
após baixar os sources do samba 4, caso já não possua, é necessário a instalação dos programas/bibliotecas de desenvolvimento. Faça isso com o comando abaixo:
# yum install libacl-devel libblkid-devel gnutls-devel readline-devel python-devel
no debian/Ubuntu
#apt-get install build-essential libattr1-dev libblkid-dev libgnutls-dev libreadline5-dev python-dev autoconf python-dnspython
* dica, se não encontrar esses pacotes, adicione os repositórios no sources.list

Passo 2: Compile o Samba4

# cd samba-master
# ./configure.developer
# make

Esses comandos irão instalar o Samba em /usr/local/samba. Se quiser instalar o samba em outro diretório use a opção –prefix no configure.developer.

A razão de usar o configure.developer ao invés do configure normal é que está incluso anele mais informações para debug e tem vários autoteste embutidos.
Após o termino do make, rode o comando abaixo para testar a validade da compilação:
#make quicktest
a saída deste comando deve ser “ALL OK”, indicando que os sources foram compilados com sucesso e essa build está funcionado.
( no meu especificamente apareceram alguns erros, mas não obtive problemas, coisa normal se tratando de código em constantes mudanças )

Passo 3: instalando o Samba4

agora basta rodar o comando make install para instalar os binários do samba em /usr/local/samba

Passo 4: provisionando o Samba4 ( configurando o domínio )

A “provisão” configura uma base de usuários para o samba, ela é usada quando formos usar o samba 4 como controlador de Domínio. Para adicionar o samba como controlador em um domínio já existente, veja o link: http://wiki.samba.org/index.php/Samba4_joining_a_domain( em inglês )Nos exemplos abaixo estou assumindo que o nome DNS do domínio é “samba4.casa” e o nome curto ( NT4) é samba4. O nome que usei no meu host é samba4lab.Os comandos devem ser rodados por usuário que tenha permissão de escrita no diretório de instalação ( como estou fazendo tudo como root não há problema )

#cd samba-master
#./source4/setup/provision –realm=samba4.casa –domain=SAMBA4 –adminpass=ALGUMASENHA –server-role=’domain controller’

Passo 5: iniciando o Samba 4

Para rodar o Samba basta rodar:
#samba
Que irá executar o Samba4 no modo ‘Padrão’, suficiente para uso em produção. O Samba4 Alpha16 ainda não tem os scripts init inclusos, mas só criar scripts para sua plataforma específica.O pessoal do Samba também recomenda rodar no debug dele, ondé é mandado para o STDOUT as mensagens do que está ocorrendo com o programa:
#samba -i -M single

Passo 6: testando o Samba 4

Para testarmos precisamos primeiro ver se a versão do smbclient é compativel:
#smbclient –version
o retorno tem que ser algo como “Version 4.0.XXXXX”agora rode o comando:
#smbclient -L localhost -U%
Esse comando trará a lista de compartilhamentos
Sharename     Type     Comment
———            —-       ——-
test              Disk
netlogon      Disk
sysvol           Disk
IPC$              IPC       IPC Service (Samba 4.0.0alpha12-GIT-5e755e9)
ADMIN$        Disk      DISK Service (Samba 4.0.0alpha12-GIT-5e755e9)
Os compartilhamentos sysvol e netlogon são shares basicos do AD e são necessários para seu funcionamento.
# smbclient //localhost/netlogon -Uadministrator%PASSWORD
O comando acima serve para testar a conexão no share netlogon. se tudo correr bem, irá cair no prompt smb:>
Para criar um compartilhamento, é necessário entrar no smb.conf ( no meu caso está em /usr/local/samba/etc) e incluir uma sessão referente ao share ( da mesma forma feita nas versões anteriores do samba.
[test]
path = /data/test
read only = no
Os desenvolvedores ainda não implementaram a atualização dos shares em tempo real, então é necessário reiniciar o samba para ver o compartilhamento

Passo 7: Configurando o Kerberos

Basicamente Kerberos é o nome de um Protocolo de rede, que permite comunicações individuais seguras e identificadas, em uma rede insegura.
Para instalar os pacotes necessários a ter suporte a kerberos no linux use o comando abaixo:
#apt-get install krb5-user krb5-kdc krb5-config kstart
Após instalar os pacotes, substitua o /etc/krb5.conf pelo arquivo de exemplo localizado em /usr/local/samba/private/krb5.conf ( substituindo o ${REALM} pelo nome de domínio (em maiúsculo)
Para testar o kerberos usamos o seguinte comando:
# kinit administrator@SAMBA4.CASA
Password for administrator@SAMBA4.CASA:
Warning: Your password will expire in 39 days on Fri Jul 15 21:28:29 2011
lembre-se de colocar o nome do dominio em letras maiúsculas, pois o kinit só reconhece dessa forma.após isso podemos ver o ticket recebido com o comando abaixo:
#klist -e
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrator@SAMBA4.CASAValid starting Expires         Service principal
06/06/11 00:07:47  06/06/11 10:07:47  krbtgt/SAMBA4.CASA@SAMBA4.CASA
renew until 06/07/11 00:07:39, Etype (skey, tkt): arcfour-hmac, arcfour-hmac

Passo 8: Configurando o DNS

Para instalação do samba é necessário utilizar um servidor DNS para controle do domínio, pode ser um servidor bind na própria maquina, externo, ou mesmo um DNS M$.
Da primeira vez que instalei, o bind9 não tinha suporte para as atualizações dinamicas do AD, era necessário aplicar alguns patches e recompilar o dns para funcionar :S. Hoje não é mais necessário, apenas instalando o dns e configurando para que o samba faça as alterações, já é suficiente.

O comando provision já gerou os arquivos de configuração necessários, agora aponte esse arquivo com a linha abaixo dentro do /etc/bind/named.conf.local

include “/usr/local/samba/private/named.conf”;

Após adicionar a linha acima e reiniciar o DNS, rode os comandos abaixo para testar o funcionamento do dns ( a reposta tem que ser similar ao que está abaixo)

# host -t SRV _ldap._tcp.samba4.casa.
_ldap._tcp.samba4.casa has SRV record 0 100 389 samba4lab.samba4.casa.

# host -t SRV _kerberos._udp.samba4.casa.
_kerberos._udp.samba4.casa has SRV record 0 100 88 samba4lab.samba4.casa.

# host -t A samba4lab.samba4.casa
samba4lab.samba4.casa has address 10.0.0.103

Passo 9: Configurar atualizações dinâmicas no DNS com o kerberos

Se você tiver uma versão atual do bind9 (9.7.2 ou posterior), então o Samba4 irá automaticamente instalar e configurar um arquivo chamado /usr/local/samba/private/named.conf.update, que você pode incluir no named.conf para permitir que o Samba/Kerberos atualize automaticamente o DNS. Esteja ciente de que se você incluir esse arquivo em versões do BIND que suportem este recurso, ou os serviços do Bind não serão iniciados.Você além disso a necessidade de definir duas variáveis ​​de ambiente para bind9:
#KEYTAB_FILE=”/usr/local/samba/private/dns.keytab”
#KRB5_KTNAME=”/usr/local/samba/private/dns.keytab”
#export KEYTAB_FILE
#export KRB5_KTNAME
Essas linhas precisam ser colocadas no arquivo de configuração do bind. No debian é “/etc/default/bind9”O arquivo dns.keytab precisa estar acessível pelo usuário do bind, fazemos isso com o comando abaixo:
#chown named:named /usr/local/samba/private/dns.keytab
e adicione as linhas abaixo no named.conf.options:
tkey-gssapi-credential “DNS/samba4.casa”;
tkey-domain “SAMBA4.CASA”;
O comando de provisão do samba irá criar o arquivo /usr/local/samba/private/dns_update_list, que contém a lista de entradas que o samba irá colocar no Bind. O update só ocorrerá se não houver a entrada no dns ainda.
Você pode checar o processo com o comando abaixo:
#/usr/local/samba/sbin/samba_dnsupdate –verbose
Se você conseguiu chegar até este ponto sem erros, meus parabéns! agora é só adicionar uma maquina ao dominio criado e usar o adminpack para gerenciar ( com o comando dsa.msc), ou instalar a ferramenta phpldapadmin que abordarei em outro momento. Existem alguns exemplos, e até vídeos explicativos no site oficial do samba  clique aqui, se o inglês estiver bom, recomendo ir até lá e conferir, vale muito a pena.
inté

Compartilhamento Windows em maquinas linux – Samba

O convívio com sistemas Windows no dia-a-dia de um administrador Linux/Unix é comum, não existe nenhum sysadmin que já não tenha tido que compartilhar diretórios com o Windows ( mesmo impressoras de rede) para que o trabalho na rede funcione.

A solução mais usada para obtermos a integração nesse ambiente misto é o projeto Samba. site oficial http://www.samba.org/

O samba nasceu em 1992 da necessidade de conectar um PC com o sistema DOS à uma maquina Unix, usando o protocolo SMB ( server message block) mais detalhes em http://pt.wikipedia.org/wiki/Samba_(servidor)

Hoje existem duas versões do samba sendo desenvolvidas em paralelo, a versão 3 (3.5.8) baseada na familia do windows NT 4.0, atualmente a versão estável, que possui suporte a atuar como um PDC (controlador de domínio), servidor de impressão, e servidor de arquivos, mas ainda não possui o Active directory ( sendo usado em conjunto com o OpenLDAP em implementações).  E temos também a versão 4 que ainda está em fase alpha de desenvolvimento. Essa segunda versão, já é compatível com as versões mais recentes de windows simulando um servidor LDAP completo totalmente compatível com o AD da Microsoft.

O Active Directory da Microsoft ( também conhecido como AD ) é a implementação do protocolo LDAP em redes Windows, que oferece uma ferramenta centralizada para controlar diversos aspectos de uma rede windows. ( servidor de impressão, compartilhamentos, autenticação de usuários, políticas de restrição etc) é na minha opinião a melhor ferramenta para gerenciamento de domínios atualmente. ( somente em maquinas windows obviamente :S )

Com este recurso sendo implementado no Samba 4, a administração de ambientes mistos fica muito mais homogênea, e em alguns casos exclui a necessidade de um servidor windows rodando o AD, já que o samba cumpre muito bem esse papel.

Meu desk

meu computador, e um pouco da minha mesa

Meu humilde PC, configuração já um pouco velha, mas bem funcional ainda.

processador: phenom X3 modelo 8400

memória: 2X kingston de 2GB

placa mãe: Asus m2n68 plus

VGA: Geforce 9800GX2

HD: Western Digital Green caviar 1TB

fonte: C3tech 750W